{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "#导入包\n",
    "\n",
    "import re\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns;sns.set_style('whitegrid')\n",
    "%matplotlib inline\n",
    "\n",
    "import warnings\n",
    "warnings.filterwarnings('ignore')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "训练集的大小: (891, 12)\n",
      "测试集的大小: (418, 11)\n"
     ]
    }
   ],
   "source": [
    "#导入数据\n",
    "\n",
    "train_data = pd.read_csv('D:\\\\Py_dataset\\\\train.csv')\n",
    "test_data = pd.read_csv('D:\\\\Py_dataset\\\\test.csv')\n",
    "\n",
    "#查看训练集与测试集的规模\n",
    "print('训练集的大小:',train_data.shape)\n",
    "print('测试集的大小:',test_data.shape)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 1：总览数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>PassengerId</th>\n",
       "      <th>Survived</th>\n",
       "      <th>Pclass</th>\n",
       "      <th>Name</th>\n",
       "      <th>Sex</th>\n",
       "      <th>Age</th>\n",
       "      <th>SibSp</th>\n",
       "      <th>Parch</th>\n",
       "      <th>Ticket</th>\n",
       "      <th>Fare</th>\n",
       "      <th>Cabin</th>\n",
       "      <th>Embarked</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>Braund, Mr. Owen Harris</td>\n",
       "      <td>male</td>\n",
       "      <td>22.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>A/5 21171</td>\n",
       "      <td>7.2500</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>Cumings, Mrs. John Bradley (Florence Briggs Th...</td>\n",
       "      <td>female</td>\n",
       "      <td>38.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>PC 17599</td>\n",
       "      <td>71.2833</td>\n",
       "      <td>C85</td>\n",
       "      <td>C</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>Heikkinen, Miss. Laina</td>\n",
       "      <td>female</td>\n",
       "      <td>26.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>STON/O2. 3101282</td>\n",
       "      <td>7.9250</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>Futrelle, Mrs. Jacques Heath (Lily May Peel)</td>\n",
       "      <td>female</td>\n",
       "      <td>35.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>113803</td>\n",
       "      <td>53.1000</td>\n",
       "      <td>C123</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>Allen, Mr. William Henry</td>\n",
       "      <td>male</td>\n",
       "      <td>35.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>373450</td>\n",
       "      <td>8.0500</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   PassengerId  Survived  Pclass  \\\n",
       "0            1         0       3   \n",
       "1            2         1       1   \n",
       "2            3         1       3   \n",
       "3            4         1       1   \n",
       "4            5         0       3   \n",
       "\n",
       "                                                Name     Sex   Age  SibSp  \\\n",
       "0                            Braund, Mr. Owen Harris    male  22.0      1   \n",
       "1  Cumings, Mrs. John Bradley (Florence Briggs Th...  female  38.0      1   \n",
       "2                             Heikkinen, Miss. Laina  female  26.0      0   \n",
       "3       Futrelle, Mrs. Jacques Heath (Lily May Peel)  female  35.0      1   \n",
       "4                           Allen, Mr. William Henry    male  35.0      0   \n",
       "\n",
       "   Parch            Ticket     Fare Cabin Embarked  \n",
       "0      0         A/5 21171   7.2500   NaN        S  \n",
       "1      0          PC 17599  71.2833   C85        C  \n",
       "2      0  STON/O2. 3101282   7.9250   NaN        S  \n",
       "3      0            113803  53.1000  C123        S  \n",
       "4      0            373450   8.0500   NaN        S  "
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_data.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**特征说明**\n",
    "\n",
    "* PassengerID：乘客编号\n",
    "* Survived：是否生还\n",
    "* Pclass：船舱等级\n",
    "* Name：乘客姓名\n",
    "* Sex：性别\n",
    "* Age：年龄\n",
    "* SibSp：兄弟姐妹的数量\n",
    "* Parch：父母子女的数量\n",
    "* Ticket：传票号码\n",
    "* Fare：船票价格\n",
    "* Cabin：船舱编号\n",
    "* Embarked：登陆港口"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 891 entries, 0 to 890\n",
      "Data columns (total 12 columns):\n",
      "PassengerId    891 non-null int64\n",
      "Survived       891 non-null int64\n",
      "Pclass         891 non-null int64\n",
      "Name           891 non-null object\n",
      "Sex            891 non-null object\n",
      "Age            714 non-null float64\n",
      "SibSp          891 non-null int64\n",
      "Parch          891 non-null int64\n",
      "Ticket         891 non-null object\n",
      "Fare           891 non-null float64\n",
      "Cabin          204 non-null object\n",
      "Embarked       889 non-null object\n",
      "dtypes: float64(2), int64(5), object(5)\n",
      "memory usage: 83.6+ KB\n",
      "None\n",
      "________________________________________\n",
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 418 entries, 0 to 417\n",
      "Data columns (total 11 columns):\n",
      "PassengerId    418 non-null int64\n",
      "Pclass         418 non-null int64\n",
      "Name           418 non-null object\n",
      "Sex            418 non-null object\n",
      "Age            332 non-null float64\n",
      "SibSp          418 non-null int64\n",
      "Parch          418 non-null int64\n",
      "Ticket         418 non-null object\n",
      "Fare           417 non-null float64\n",
      "Cabin          91 non-null object\n",
      "Embarked       418 non-null object\n",
      "dtypes: float64(2), int64(4), object(5)\n",
      "memory usage: 36.0+ KB\n",
      "None\n"
     ]
    }
   ],
   "source": [
    "print(train_data.info())\n",
    "print('_'*40)\n",
    "print(test_data.info())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "从上述结果可以看出，Age,Cabin,Embarked,Fare存在缺失值。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x145d7991390>"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#绘制存活的比例\n",
    "\n",
    "train_data['Survived'].value_counts().plot.pie(labeldistance = 1.1,autopct = '%1.2f%%',shadow = False,startangle = 90,pctdistance = 0.6)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2：缺失值处理"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "S    644\n",
       "C    168\n",
       "Q     77\n",
       "Name: Embarked, dtype: int64"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 处理Embarked特征\n",
    "\n",
    "train_data['Embarked'].value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "train_data['Embarked'] = train_data['Embarked'].fillna('S')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 处理Cabin特征\n",
    "\n",
    "train_data['Cabin'] = train_data['Cabin'].fillna('U0')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 处理Age特征，在此使用随机森林\n",
    "\n",
    "age_df = train_data[['Age','Survived','Pclass','SibSp','Parch']]\n",
    "age_df_notnull = age_df.loc[(train_data['Age'].notnull())]\n",
    "age_df_isnull = age_df.loc[(train_data['Age'].isnull())]\n",
    "\n",
    "X = age_df_notnull.values[:,1:]\n",
    "Y = age_df_notnull.values[:,0]\n",
    "\n",
    "#调用随机森林模型\n",
    "from sklearn.ensemble import RandomForestRegressor\n",
    "\n",
    "RF = RandomForestRegressor(n_estimators = 1000,n_jobs = -1)\n",
    "RF.fit(X,Y)\n",
    "PredictAges = RF.predict(age_df_isnull.values[:,1:])\n",
    "train_data.loc[train_data['Age'].isnull(),['Age']] = PredictAges"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 891 entries, 0 to 890\n",
      "Data columns (total 12 columns):\n",
      "PassengerId    891 non-null int64\n",
      "Survived       891 non-null int64\n",
      "Pclass         891 non-null int64\n",
      "Name           891 non-null object\n",
      "Sex            891 non-null object\n",
      "Age            891 non-null float64\n",
      "SibSp          891 non-null int64\n",
      "Parch          891 non-null int64\n",
      "Ticket         891 non-null object\n",
      "Fare           891 non-null float64\n",
      "Cabin          891 non-null object\n",
      "Embarked       891 non-null object\n",
      "dtypes: float64(2), int64(5), object(5)\n",
      "memory usage: 83.6+ KB\n"
     ]
    }
   ],
   "source": [
    "#查看填充后的train_data\n",
    "\n",
    "train_data.info()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 3：分析数据之间的关系"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "####  3.1 分析性别与生存的关系"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Sex     Survived\n",
       "female  0            81\n",
       "        1           233\n",
       "male    0           468\n",
       "        1           109\n",
       "Name: Survived, dtype: int64"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_data.groupby(['Sex','Survived'])['Survived'].count()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Sex\n",
       "female    0.742038\n",
       "male      0.188908\n",
       "Name: Survived, dtype: float64"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#查看不同性别的生存比例\n",
    "\n",
    "train_data.groupby('Sex')['Survived'].mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x145d7cad240>"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#可视化过程\n",
    "\n",
    "train_data.groupby('Sex')['Survived'].mean().plot.bar()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "从上述比例图中可以看出，女性的生还比例远高于男性，体现了Lady-first的原则。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 3.2 观察船舱等级与生存比例之间的关系"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Pclass\n",
       "1    216\n",
       "2    184\n",
       "3    491\n",
       "Name: Survived, dtype: int64"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_data.groupby('Pclass')['Survived'].count()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Pclass\n",
       "1    0.629630\n",
       "2    0.472826\n",
       "3    0.242363\n",
       "Name: Survived, dtype: float64"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_data.groupby('Pclass')['Survived'].mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x145d8830da0>"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#可视化\n",
    "\n",
    "train_data.groupby('Pclass')['Survived'].mean().plot(kind = 'bar')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "sns.set_style('whitegrid')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "不同等级船舱，男女的生存率"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x145d8894eb8>"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "train_data.groupby(['Pclass','Sex'])['Survived'].mean().plot(kind = 'bar')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Pclass  Sex   \n",
       "1       female    0.968085\n",
       "        male      0.368852\n",
       "2       female    0.921053\n",
       "        male      0.157407\n",
       "3       female    0.500000\n",
       "        male      0.135447\n",
       "Name: Survived, dtype: float64"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_data.groupby(['Pclass','Sex'])['Survived'].mean()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "从图和表中可以看出，女性的生还比例高于男性，船舱等级越高，生还比例越高。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 3.3 观察年龄与生存比例之间的关系"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5, 1.0, 'Sex and Age vs Survived')"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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JHr16oWePXsiNzcX27ZtA3Drv83r5syZg0WLFiEqKgrLly/HxYsXb/h6REQE5s+fj7CwMPz888/Izs522HMg+2KRgYhuafXq1SgsLMTKlSuxcuVKALZGo2q1WuJk5Am6deuGSZMmYciQITCZTJg8eTJEUZQ6FhF5CIVCAY1Gg759+0KlUiE4OBhZWVmVX4+NjUXLli0xaNAgVFRUIC4uDiEhIRImJnJPo0aNwpQpU7B161YUFxfj+eefv6PH9erVC6NHj0ZgYCCqVatW2dPhupkzZ2LixIkwm80AbEUJcg+C9c8lXSIiIiIiIiKieySTOgAREREREREReQYWGYiIiIiIiIjILlhkICIiIiIiIiK7YJGBiIiIiIiIiOyCRQYiIiIiIiIisgtuYUnkRQ4ePIgxY8YgOjoaAGAwGNCzZ08MHTr0b987dOhQzJw5E1FRUc6OSURERF5q7dq12L9/P2QyGQRBwNixY9GgQQOpYxHRXWCRgcjLtGjRAkuWLAEAVFRUoHv37ujduzd8fX0lTkZERETe7OTJk/jqq6+wZcsWCIKA48ePY+LEidi5c6fU0YjoLrDIQOTFiouLIZPJkJqaikWLFsFqtSIkJASLFi2q/J7MzEzMnDkTBoMB+fn5eO6559ClSxcsWbIEBw4cgMViQY8ePTBixAi888472LFjB2QyGRISEjBx4kQJnx0RERG5k4CAAFy6dAkffPAB2rVrh7p16+KDDz5AWloakpOTAQD+/v6YO3cufvrpJ6xbtw6bN2/G66+/jvLyckyYMEHiZ0BEAIsMRF7nwIEDGDp0KARBgFKpxLRp05CcnIwlS5YgKioK77zzDk6dOlX5/adPn8YTTzyBxMRE/PLLL0hJSUGXLl2wY8cObN68GSEhIdi+fTsAYPv27Zg2bRri4+Px7rvvwmQyQaHgywwRERHdXkBAAFatWoXNmzdjxYoVUKvVGDt2LN58803MnTsX0dHR2LZtG9544w2MHTsW+/btw8SJE5GZmYn169dLHZ+IruHZP5GX+fNyiesmT55c2XthyJAhN3wtODgYq1atwgcffABBEGAymQAAixcvxuLFi5GTk4O2bdsCAObNm4e33noLixYtQnx8PKxWqxOeEREREXmCjIwM6HQ6zJs3DwBw5MgRPPvssygvL8esWbMAAEajEREREQCAZ555Bh07dsTSpUt5U4PIhfCvkYhQtWpVnD17FrVq1cLatWsr37wBYNmyZejXrx/at2+PDz/8EB999BEqKirw6aefYvHixbBarejRowd69OiBrVu3YtasWRBFEU899RR+/fVXNG/eXMJnRkRERO4iLS0NW7ZswerVqyGKIiIiIqDX6xESEoL58+cjLCwMP//8M7KzswEAM2bMwJQpU5CSkoLExET4+flJ/AyICGCRgYgAzJo1C5MnT4ZMJkNwcDBGjBiBt99+GwDQvXt3zJkzB2vWrEFoaCjy8vKgUqng5+eH3r17w8/PD61bt0ZYWBjq1KmDxx57DFWqVEFISAgaNWok8TMjIiIid9GtWzecOnUK/fr1g1arhdVqxYQJE1CtWjVMnDgRZrMZADBnzhxs3LgRgYGBGDJkCDQaDaZOnYqUlBSJnwERAYBg5XxmIiIiIiIiIrIDmdQBiIiIiIiIiMgzsMhARERERERERHbBIgMRERERERER2QWLDERERERERERkFywyEBEREREREZFdsMhARERERERERHbBIgMRERERERER2QWLDERERERERERkF/8PubiBf7nOxk8AAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 1296x360 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig,ax = plt.subplots(1,2,figsize = (18,5))\n",
    "ax[0].set_yticks(range(0,110,10))\n",
    "sns.violinplot(x = 'Pclass',y = 'Age',hue = 'Survived',data = train_data,split = True,ax = ax[0])\n",
    "ax[0].set_title('Pclass and Age vs Survived')\n",
    "\n",
    "ax[1].set_yticks(range(0,110,10))\n",
    "sns.violinplot(x = 'Sex',y = 'Age',hue = 'Survived',data = train_data,split = True,ax = ax[1])\n",
    "ax[1].set_title('Sex and Age vs Survived')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "分析年龄的总体分布"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x145d9a4b0b8>"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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wAP1jglAE3AEDwDqbOzYsfnEJz6Rj3zkI/nNb36TT37yk5k4cWL/462trfnf//3fAdfR29ub7u7uoY4KDcm+D3+k4AFAnU2ZMiWTJ09OpVLJlClTMmHChPz+97/vf7ynp+c1he/1tLS0pL29faijQgN63L7PsDPQhxpO0QSAOvve976XVatWJUmee+65bNu2LePGjcuTTz6ZarWa++67L9OmTatzSgCagSN4AFBnZ599di677LLMmzcvlUolV111VUaMGJFLLrkku3btysyZM/MXf/EX9Y4JQBNQ8ACgzsaMGZOvfvWre91/22231SENAM3MKZoAAACFUPAAAAAKoeABAAAUQsEDAAAohIIHAABQCAUPAACgEAoeAABAIRQ8AACAQih4AAAAhVDwAAAACqHgAQAAFELBAwAAKMSoWj1RX19fFi9enKeffjojRozIlVdemVGjRmXx4sWpVCqZOnVqli9fnhEjdE4AAIDBqFnB+8lPfpKdO3fmlltuyf3335+vf/3r6evry8KFCzNjxowsW7Ys69evzxlnnFGrSAAAAEWp2eGyKVOmZNeuXdm9e3e2bt2aUaNGZdOmTZk+fXqSZNasWdmwYUOt4gAAABSnZkfwxo0bl6effjpnnnlmXnrppVx77bV58MEHU6lUkiStra3ZsmXLPtfT29ub7u7uQWXYvn37oJeth2bK22hZ29vb97pvz3yNlncgzZQ1aa68zZQ1aa68zZQVAEpSs4L33e9+NzNnzszFF1+cZ555Jh/72MfS19fX/3hPT08mTpy4z/W0tLS87n/e90d3d/egl62HZsrbDFn3zNcMeV/VTFmT5srbTFmT5sp7MLIqiABw4Gp2iubEiRMzYcKEJMmhhx6anTt35rjjjktXV1eSpLOzM9OmTatVHAAAgOLU7Ajexz/+8SxZsiTz589PX19fLrroopxwwgm5/PLLc80116StrS2zZ8+uVRwAAIDi1Kzgtba25hvf+MZe969du7ZWEQAAAIpm0jkAAIBCKHgAAACFUPAAAAAKoeABAAAUQsEDAAAohIIHAABQCAUPAACgEAoeAABAIRQ8AACAQih4AAAAhVDwAAAACqHgAQAAFELBAwAAKISCBwAAUAgFDwAAoBAKHgAAQCEUPAAAgEIoeAAAAIVQ8AAAAAqh4AEAABRCwQMAACiEggcAAFAIBQ8AAKAQ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g7z//e/P3XffXe8o0NCGRcF76KGHctpppyV5ZZ6gRx55pM6J9jZp0qSsWbOm//amTZsyffr0JMmsWbOyYcOGekXby/ve97589rOf7b89cuTIhs77V3/1V7nyyiuTJJs3b84RRxzR0HlXr16duXPn5sgjj0zS2PvCL37xi2zbti3nnXdezj333Dz44IPZsWNHJk2alEqlkpkzZ+aBBx6od8wkyX333Zdjjz02CxYsyKc//emcfvrpDb1tX/Xf//3feeyxx/KBD3ygYbftlClTsmvXruzevTtbt27NqFGjmmLbAs2jq6srkyZNyty5c3PTTTclSX7+85/nwx/+cM4999xcdNFFWbx4cZJXPnScM2dO5s6dmxtvvLGesaEuhkXB27p1a8aPH99/e+TIkdm5c2cdE+1t9uzZr5ngvVqtplKpJElaW1uzZcuWekXbS2tra8aPH5+tW7fmwgsvzMKFCxs6b5KMGjUqixYtypVXXpnZs2c3bN4777wzhx9+eP8HEklj7wtjx47NJz7xiXz729/OF77whVx22WU55JBD+h9vpLwvvfRSHnnkkXzjG9/IF77whVxyySUNvW1fdd1112XBggV7/R1rpLzjxo3L008/nTPPPDOXX355zjnnnKbYtkDzuP322/ORj3wkbW1tGTNmTDZu3Jjly5dn1apVufHGGzNp0qQkyWOPPZZ77rkn69aty7p163Lvvffm8ccfr3N6qK1hMQZv/Pjx6enp6b+9e/fu15SpRrTnWJWenp5MnDixjmn29swzz2TBggWZP39+PvjBD+bqq6/uf6wR8yavHBm75JJL8tGPfrT/1MKksfLecccdqVQqeeCBB9Ld3Z1FixblxRdf7H+8kbImrxy5mTx5ciqVSqZMmZIJEybk97//ff/jjZT3sMMO6/+PQVtbW1paWvLss8/2P95IWV/18ssv5/HHH88pp5ySrVu3vubvWCPl/e53v5uZM2fm4osvzjPPPJOPfexj6evr63+8kbICzecPf/hDOjs78+KLL6ajoyNbt27N2rVr89vf/jZTp05Nkpx88sm555578uijj2bz5s35+Mc/3r/sk08+mba2tjr+BFBbw+II3kknnZTOzs4kycMPP5xjjz22zon27bjjjktXV1eSpLOzM9OmTatzoj96/vnnc9555+XSSy/N2WefnaSx837/+9/PddddlyQ55JBDUqlUcsIJJzRk3ptuuilr165NR0dH2tvbs3r16syaNashsybJ9773vf4xrc8991y2bduWcePG5cknn0y1Ws19993XMHlPPvnk/PSnP021Wu3Peuqppzbstk2SBx98MO9617uSvPJB1ejRoxty206cOLH/QjuHHnpodu7c2dB/E4Dmctddd+XDH/5wvvOd7+Tb3/52brvtttx///1paWnJY489luSVC9UlSVtbW4455pjceOON6ejoyFlnndUU/++Dg2lYTHT+6lU0H3300VSr1Vx11VU5+uij6x1rL0899VT+8R//Mbfddlt+/etf5/LLL09fX1/a2tqyYsWKjBw5st4RkyQrVqzIf/zHf7zm07DPf/7zWbFiRUPm/b//+79cdtllef7557Nz58588pOfzNFHH92w2/dV55xzTq644oqMGDGiYbPu2LEjl112WTZv3pxKpZJLLrkkI0aMyFVXXZVdu3Zl5syZueiii+ods9+Xv/zldHV1pVqt5qKLLspRRx3VsNs2Sb71rW9l1KhR/Z9EP/zwww25bXt6erJkyZL87ne/S19fX84999yccMIJDb1tgebxN3/zN/nyl7+cd7zjHf33XXHFFTniiCPS2dmZcePGZfTo0XnrW9+aFStW5Fvf+lb/Bfbe+c535vLLL/f3h2FlWBQ8AADKctNNN+XMM8/M4Ycfnq997WsZPXp0w0wfA/XU2APRAADgdbzlLW/Jeeedl3HjxmXChAkNOQ0W1IMjeAAAAIUYFhdZAQAAGA4UPAAAgEIoeAAAAIVQ8KCBXH/99Zk5c+ZrJmIHAID9peBBA/nBD36Q97///bn77rvrHQUAgCZkmgRoEF1dXZk0aVLmzp2bSy+9NGeddVZ+/vOf5wtf+EJaW1vzlre8JS0tLVm1alU6Ojry7//+76lUKnn/+9+fc889t97xAQBoAI7gQYO4/fbb85GPfCRtbW0ZM2ZMNm7cmOXLl2fVqlW58cYbM2nSpCTJY489lnvuuSfr1q3LunXrcu+99+bxxx+vc3oAABqBI3jQAP7whz+ks7MzL774Yjo6OrJ169asXbs2v/3tbzN16tQkycknn5x77rknjz76aDZv3pyPf/zj/cs++eSTaWtrq+NPAABAI1DwoAHcdddd+fCHP5xFixYlSbZt25a//Mu/zNixY/PYY4/lmGOOycaNG5MkbW1tOeaYY/Ktb30rlUol3/3ud3PsscfWMz4AAA1CwYMGcPvtt+fLX/5y/+1DDjkk733ve3PEEUdkyZIlGTduXEaPHp23vvWtecc73pFTTz018+bNy44dO/LOd74zb33rW+uYHgCARlGpVqvVeocAXt9NN92UM888M4cffni+9rWvZfTo0bngggvqHQsAgAblCB40sLe85S0577zzMm7cuEyYMCGrVq2qdyQAABqYI3gAAACFME0CAABAIRQ8AACAQih4AAAAhVDwAAAACqHgAQAAFELBAwAAKMT/D6McqX4sRTACAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 1080x576 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize = (15,8))\n",
    "plt.subplot(1,2,1)\n",
    "train_data['Age'].hist(bins = 100)\n",
    "plt.xlabel('Age')\n",
    "plt.ylabel('Num')\n",
    "\n",
    "plt.subplot(1,2,2)\n",
    "train_data.boxplot(column = 'Age',showfliers = False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<seaborn.axisgrid.FacetGrid at 0x145d9b15e48>"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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D37wg2qXGvDUU0+Z6667zhhjzNq1a83ll1+udqkRpVLJfPnLXzZnnnmm2bRpk9qlBhQKBfPJT35ywrlPfOITZtu2bcb3ffPFL37RbNiwoUq1m7zWrl1rli5dajzPM9ls1vzgBz/Q9VJjbr75ZvPggw/qeqkBTz31lLn66quNMcY888wz5qqrrpo010tV4++6dev4wAc+AMBJJ53Ehg0bqlmdSa+9vZ0f/vCHleNXXnmFU045BYDTTz+dP//5z9Wq2qT10Y9+lK985SuV41AopHapAR/5yEe49dZbAejq6qKlpUXtUiPuuOMOLrjgAqZOnQro91gteO2118jn81x22WVccsklPPfcc5RKJdrb27EsiyVLlrBmzZpqV3PSeeaZZ+js7OTKK6/k8ssv50Mf+pCulxry8ssvs2nTJj72sY/peqkBs2fPxvM8fN8nm80SDocnzfVS1bCYzWZJp9OV41AohOu6VazR5HbWWWcRDo/fmWyMwbIsAFKpFCMjI9Wq2qSVSqVIp9Nks1muvvpqvvrVr6pdakQ4HGb58uXceuutnHXWWWqXGvD444/T1NRU+RIS9HusFsTjcb7whS/wk5/8hFtuuYXrr7+eRCJRKVe7VMeePXvYsGED3//+97nllltYtmyZrpcactddd3HllVfu97ey2qU6kskkO3fu5Oyzz+bGG2/k4osvnjTXS1XHLKbTaXK5XOXY9/0JYUWqa+/7rnO5HHV1dVWszeTV3d3NlVdeyUUXXcTHP/5xvvWtb1XK1C7Vdccdd7Bs2TI++9nPUiwWK+fVLtXx2GOPYVkWa9as4dVXX2X58uUMDAxUytUu1TF79mxmzZqFZVnMnj2bTCbD4OBgpVztUh0NDQ10dHQQjUbp6OggFouxa9euSrnapXqGh4fZsmUL73vf+8hmsxP+Vla7VMe9997LkiVL+PrXv053dzef//zncRynUn40t0tVexYXLlzI6tWrAVi/fj2dnZ3VrI7sY/78+Tz77LMArF69msWLF1e5RpNPf38/l112Gddeey2f+cxnALVLLfj5z3/OXXfdBUAikcCyLBYsWKB2qbL777+f++67j1WrVnH88cdzxx13cPrpp6tdquzRRx9l5cqVAPT09JDP50kmk2zfvh1jDM8884zapQoWLVrEH//4R4wxlXY59dRTdb3UgOeee473v//9QNCxEolEdL1UWV1dXWWSrvr6elzXnTR/j1nGGFOtHz42G+rGjRsxxnDbbbcxZ86calVHgDfffJOvfe1rPPzww2zdupUbb7wRx3Ho6OhgxYoVhEKhaldxUlmxYgW/+c1v6OjoqJz7xje+wYoVK9QuVTQ6Osr1119Pf38/ruvypS99iTlz5uh6qSEXX3wxN998M7Ztq12qrFQqcf3119PV1YVlWSxbtgzbtrntttvwPI8lS5ZwzTXXVLuak9Kdd97Js88+izGGa665hra2Nl0vNeCee+4hHA5z6aWXAkGHiq6X6srlctxwww309fXhOA6XXHIJCxYsmBTXS1XDooiIiIiIiNSmo3AxEBERERERETlUCosiIiIiIiKyH4VFERERERER2Y/CooiIiIiIiOxHYVFERERERET2o7AoIiJHhbvvvpslS5ZQLBarXRUREZGjgsKiiIgcFX75y19yzjnn8Otf/7raVRERETkqhKtdARERkUP17LPP0t7ezgUXXMC1117Leeedx0svvcQtt9xCKpWiubmZWCzGypUrWbVqFb/61a+wLItzzjmHSy65pNrVFxERqUnqWRQRkSPeI488wvnnn09HRwfRaJQXX3yRm266iZUrV/Kzn/2M9vZ2ADZt2sSTTz7JAw88wAMPPMDTTz/Nli1bqlx7ERGR2qSeRREROaINDQ2xevVqBgYGWLVqFdlslvvuu4/e3l7mzZsHwKJFi3jyySfZuHEjXV1dXHrppZXXbt++nY6Ojip+AhERkdqksCgiIke0X/ziF3z6059m+fLlAOTzec444wzi8TibNm1i7ty5vPjiiwB0dHQwd+5c7rnnHizL4t5776Wzs7Oa1RcREalZCosiInJEe+SRR7jzzjsrx4lEgjPPPJOWlhZuuOEGkskkkUiE1tZWjjvuOE499VQuvPBCSqUSJ554Iq2trVWsvYiISO2yjDGm2pUQERH5Z7v//vs5++yzaWpq4nvf+x6RSISrrrqq2tUSERE5YqhnUUREjkrNzc1cdtllJJNJMpkMK1eurHaVREREjijqWRQREREREZH9aOkMERERERER2Y/CooiIiIiIiOxHYVFERERERET2o7AoIiIiIiIi+1FYFBERERERkf38f+ijTE64QFpkAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 911x216 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "facet = sns.FacetGrid(train_data,hue = 'Survived',aspect = 4)\n",
    "facet.map(sns.kdeplot,'Age',shade = True)\n",
    "facet.set(xlim=(0,train_data['Age'].max()))\n",
    "facet.add_legend()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x145d9fd1358>"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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UAcAAAAALsZQBwAAAAAuxlAHAKgyHn/8cbVp06bURdOP1bBhw2xvz8nJKXUhWQAAyhqXNAAAVBndunVT69at1axZM6Wnp5fLfXbo0EGvvfZamV7DFACAw7ny4uMAAMTro48+UkpKijIyMnTHHXcoPT1dX375pe6++27VrFlTJ598spKSkpSVlaXs7Gy98sor8ng86tKliwYMGGC53UsuuURr1qxR//791axZM3377bcqKCjQAw88oLVr1yo/P18jR44MX+AdAICyxtsvAQBVwr///W/16dNHqamp8vv9+uKLLzRp0iRlZWXp6aefVkpKiiRpy5YtevXVV/Xss8/q2Wef1cqVK7Vt27aY7qNFixZasGCBLrnkEi1fvlx9+vRRvXr1NHv2bCcfGgCgiuNMHQCg0vv111+1evVq7dmzR9nZ2SooKNAzzzyjn376SWeddZYk6bzzztOrr76qzZs364cfftANN9wQ/r87duxQampq1Ptp3ry5JOnUU0/Vzz//7NjjAQDgcAx1AIBKb9myZerVq5dGjx4tSTpw4IA6duyoatWqacuWLWrSpIm++OILSVJqaqqaNGmiJ554Qh6PRwsWLFDTpk2P+r49Ho9CoVCZPA4AAMww1AEAKr1///vfuvfee8NfV69eXZ07d1bdunU1btw41ahRQ4mJiTrllFPUrFkztW7dWv369VMgEFCLFi10yimnHPV9n3/++Ro8eLCefvppeTyesng4AACUwqdfAgCqrIULF+rKK69UnTp1NHv2bCUmJka9RAEAABUNZ+oAAFXWySefrIEDB6pGjRqqVauWsrKyTHNvvfWWFixYcMT3BwwYoE6dOjlcJQAA9jhTBwAAAAAuxiUNAAAAAMDFGOoAAAAAwMUY6gAAAADAxRjqAAAAAMDFGOoAAAAAwMUY6gAAAADAxf4f+OupqBmhX6wAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 1080x360 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize = (15,5))\n",
    "train_data['Age_int'] = train_data['Age'].astype(np.int)\n",
    "average_age = train_data[['Age_int','Survived']].groupby('Age_int',as_index = False).mean()\n",
    "sns.barplot(x = 'Age_int',y = 'Survived',data = average_age)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "count    891.000000\n",
      "mean      29.557118\n",
      "std       13.565676\n",
      "min        0.420000\n",
      "25%       21.000000\n",
      "50%       28.923902\n",
      "75%       36.502120\n",
      "max       80.000000\n",
      "Name: Age, dtype: float64\n"
     ]
    }
   ],
   "source": [
    "print(train_data['Age'].describe())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "该数据集有891个样本，乘客的平均年龄是29.6岁，标准差是13.6岁，最小年龄为0.42岁，最大年龄是80岁。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Age_group\n",
      "child       0.500000\n",
      "teenager    0.459459\n",
      "adult       0.366255\n",
      "older       0.125000\n",
      "Name: Survived, dtype: float64\n"
     ]
    }
   ],
   "source": [
    "#对年龄进行分组\n",
    "\n",
    "bins = [0,12,18,65,100]\n",
    "labels = ['child','teenager','adult','older']\n",
    "\n",
    "train_data['Age_group'] = pd.cut(train_data['Age'],bins = bins,labels = labels)\n",
    "\n",
    "by_age = train_data.groupby('Age_group')['Survived'].mean()\n",
    "\n",
    "print(by_age)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x145d9ba7160>"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "by_age.plot(kind = 'bar')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "从上图以及数据统计中可以看出，孩子的存活率的是最高的，其比例为0.5。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 3.4 有无兄弟姐妹和存活的关系"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>PassengerId</th>\n",
       "      <th>Survived</th>\n",
       "      <th>Pclass</th>\n",
       "      <th>Name</th>\n",
       "      <th>Sex</th>\n",
       "      <th>Age</th>\n",
       "      <th>SibSp</th>\n",
       "      <th>Parch</th>\n",
       "      <th>Ticket</th>\n",
       "      <th>Fare</th>\n",
       "      <th>Cabin</th>\n",
       "      <th>Embarked</th>\n",
       "      <th>Age_int</th>\n",
       "      <th>Age_group</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>Braund, Mr. Owen Harris</td>\n",
       "      <td>male</td>\n",
       "      <td>22.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>A/5 21171</td>\n",
       "      <td>7.2500</td>\n",
       "      <td>U0</td>\n",
       "      <td>S</td>\n",
       "      <td>22</td>\n",
       "      <td>adult</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>Cumings, Mrs. John Bradley (Florence Briggs Th...</td>\n",
       "      <td>female</td>\n",
       "      <td>38.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>PC 17599</td>\n",
       "      <td>71.2833</td>\n",
       "      <td>C85</td>\n",
       "      <td>C</td>\n",
       "      <td>38</td>\n",
       "      <td>adult</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>Heikkinen, Miss. Laina</td>\n",
       "      <td>female</td>\n",
       "      <td>26.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>STON/O2. 3101282</td>\n",
       "      <td>7.9250</td>\n",
       "      <td>U0</td>\n",
       "      <td>S</td>\n",
       "      <td>26</td>\n",
       "      <td>adult</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>Futrelle, Mrs. Jacques Heath (Lily May Peel)</td>\n",
       "      <td>female</td>\n",
       "      <td>35.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>113803</td>\n",
       "      <td>53.1000</td>\n",
       "      <td>C123</td>\n",
       "      <td>S</td>\n",
       "      <td>35</td>\n",
       "      <td>adult</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>Allen, Mr. William Henry</td>\n",
       "      <td>male</td>\n",
       "      <td>35.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>373450</td>\n",
       "      <td>8.0500</td>\n",
       "      <td>U0</td>\n",
       "      <td>S</td>\n",
       "      <td>35</td>\n",
       "      <td>adult</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   PassengerId  Survived  Pclass  \\\n",
       "0            1         0       3   \n",
       "1            2         1       1   \n",
       "2            3         1       3   \n",
       "3            4         1       1   \n",
       "4            5         0       3   \n",
       "\n",
       "                                                Name     Sex   Age  SibSp  \\\n",
       "0                            Braund, Mr. Owen Harris    male  22.0      1   \n",
       "1  Cumings, Mrs. John Bradley (Florence Briggs Th...  female  38.0      1   \n",
       "2                             Heikkinen, Miss. Laina  female  26.0      0   \n",
       "3       Futrelle, Mrs. Jacques Heath (Lily May Peel)  female  35.0      1   \n",
       "4                           Allen, Mr. William Henry    male  35.0      0   \n",
       "\n",
       "   Parch            Ticket     Fare Cabin Embarked  Age_int Age_group  \n",
       "0      0         A/5 21171   7.2500    U0        S       22     adult  \n",
       "1      0          PC 17599  71.2833   C85        C       38     adult  \n",
       "2      0  STON/O2. 3101282   7.9250    U0        S       26     adult  \n",
       "3      0            113803  53.1000  C123        S       35     adult  \n",
       "4      0            373450   8.0500    U0        S       35     adult  "
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>PassengerId</th>\n",
       "      <th>Survived</th>\n",
       "      <th>Pclass</th>\n",
       "      <th>Age</th>\n",
       "      <th>SibSp</th>\n",
       "      <th>Parch</th>\n",
       "      <th>Fare</th>\n",
       "      <th>Age_int</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>891.000000</td>\n",
       "      <td>891.000000</td>\n",
       "      <td>891.000000</td>\n",
       "      <td>891.000000</td>\n",
       "      <td>891.000000</td>\n",
       "      <td>891.000000</td>\n",
       "      <td>891.000000</td>\n",
       "      <td>891.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>446.000000</td>\n",
       "      <td>0.383838</td>\n",
       "      <td>2.308642</td>\n",
       "      <td>29.557118</td>\n",
       "      <td>0.523008</td>\n",
       "      <td>0.381594</td>\n",
       "      <td>32.204208</td>\n",
       "      <td>29.401796</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>257.353842</td>\n",
       "      <td>0.486592</td>\n",
       "      <td>0.836071</td>\n",
       "      <td>13.565676</td>\n",
       "      <td>1.102743</td>\n",
       "      <td>0.806057</td>\n",
       "      <td>49.693429</td>\n",
       "      <td>13.577499</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.420000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>223.500000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>21.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>7.910400</td>\n",
       "      <td>21.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>446.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>28.923902</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>14.454200</td>\n",
       "      <td>28.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>668.500000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>36.502120</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>31.000000</td>\n",
       "      <td>36.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>891.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>80.000000</td>\n",
       "      <td>8.000000</td>\n",
       "      <td>6.000000</td>\n",
       "      <td>512.329200</td>\n",
       "      <td>80.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       PassengerId    Survived      Pclass         Age       SibSp  \\\n",
       "count   891.000000  891.000000  891.000000  891.000000  891.000000   \n",
       "mean    446.000000    0.383838    2.308642   29.557118    0.523008   \n",
       "std     257.353842    0.486592    0.836071   13.565676    1.102743   \n",
       "min       1.000000    0.000000    1.000000    0.420000    0.000000   \n",
       "25%     223.500000    0.000000    2.000000   21.000000    0.000000   \n",
       "50%     446.000000    0.000000    3.000000   28.923902    0.000000   \n",
       "75%     668.500000    1.000000    3.000000   36.502120    1.000000   \n",
       "max     891.000000    1.000000    3.000000   80.000000    8.000000   \n",
       "\n",
       "            Parch        Fare     Age_int  \n",
       "count  891.000000  891.000000  891.000000  \n",
       "mean     0.381594   32.204208   29.401796  \n",
       "std      0.806057   49.693429   13.577499  \n",
       "min      0.000000    0.000000    0.000000  \n",
       "25%      0.000000    7.910400   21.000000  \n",
       "50%      0.000000   14.454200   28.000000  \n",
       "75%      0.000000   31.000000   36.000000  \n",
       "max      6.000000  512.329200   80.000000  "
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_data.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "有兄弟姐妹的存活关系：\n",
      "0    0.533569\n",
      "1    0.466431\n",
      "Name: Survived, dtype: float64\n",
      "没有兄弟姐妹的存活关系:\n",
      "0    0.654605\n",
      "1    0.345395\n",
      "Name: Survived, dtype: float64\n"
     ]
    }
   ],
   "source": [
    "#将数据分为两组，有兄弟姐妹和没有兄弟姐妹\n",
    "\n",
    "sibsp_df = train_data[train_data['SibSp'] != 0]\n",
    "no_sibsp_df = train_data[train_data['SibSp'] == 0]\n",
    "\n",
    "print('有兄弟姐妹的存活关系：')\n",
    "print(sibsp_df['Survived'].value_counts(normalize = True))\n",
    "print('没有兄弟姐妹的存活关系:')\n",
    "print(no_sibsp_df['Survived'].value_counts(normalize = True))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5, 0, 'no_sibsp')"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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7eL9999n6dKltz13165dt60nr7t48SJLliwhMDCQ119/naFDh/Lll18yYcIEXn75ZbZu3YrH4wGgWbNmZGZmcvz4cd555x22bdv2wO9dGgfNyZN7FhMTw+OPP87kyZNZv349Doej4b127doRHh4OQJ8+fThx4kRD63P8+PF8/fXXDUGub9++2O12QkNDadmyJZWVlT65HxGR+6FHjx4AtG3blrq6Os6dO9cwlaVv374cP378jufeqZ68+drBwcE4HA569erVMKJy4MAB3njjDQoKCrDbzZ/4/v37AxAREUF5efmDuFVppBTy5J7t3r2bZ555hi+++IKRI0eyevXqhvd+/fVXzp07B0BBQQERERFs376dMWPGsHbtWiIiIsjOzgbgyJEjAJSXl+PxeGjVqtXDvxkRkfvEZrPd8v+wsDB+/vlnAA4cOMCTTz55x3PvVE9eV1xczIULF7hy5QqHDh0iIiKCDRs2MH36dNatWwfAzp07gRt167Fjx2jduvX9uj1pAjQWJvcsKiqKmTNnsmzZMux2OwkJCRw6dAiAkJAQFi5cyNmzZ+nTpw+DBg3ixx9/ZM6cOQQGBuLn58eCBQs4cOAA5eXljB8/nurqat57771begRFRJq6hQsXkp6ejtfrxeFwsHjx4jse26tXr9vWk9c99thjpKSkUFlZyUsvvUTXrl3p3bs3EydOJCQkhBYtWjB48GDWrVuH2+1m/PjxXLp0ifT09Idxq9JI2Lxer9fXhRDZsmULJSUlzJgxw9dFERGxjGXLlhEaGsq4ceN8XRTxAfXkiYiI+EhSUhK//fbbLZ8LCgpixYoVPiqRWIl68kREREQsSAsvRERERCxIIU9ERETEghTyRERERCxIIU9ERETEghTyRERERCxIIU9ERETEgv4fg2hCdlyLusEAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 792x360 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#数据可视化\n",
    "\n",
    "plt.figure(figsize = (11,5))\n",
    "plt.subplot(1,2,1)\n",
    "sibsp_df['Survived'].value_counts().plot.pie(labels = ['No Survived','Survived'],autopct = '%1.1f%%')\n",
    "plt.xlabel('sibsp')\n",
    "\n",
    "plt.subplot(1,2,2)\n",
    "no_sibsp_df['Survived'].value_counts().plot.pie(labels = ['No Survived','Survived'],autopct = '%1.1f%%')\n",
    "plt.xlabel('no_sibsp')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 3.5 有无父母子女和存活率的关系"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5, 0, 'no_parch')"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 792x360 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#将数据分为两组，有父母子女和没有父母子女的一组\n",
    "\n",
    "parch_df = train_data[train_data['Parch'] != 0]\n",
    "no_parch_df = train_data[train_data['Parch'] == 0]\n",
    "\n",
    "#对数据结果进行可视化展示\n",
    "plt.figure(figsize = (11,5))\n",
    "plt.subplot(1,2,1)\n",
    "parch_df['Survived'].value_counts().plot.pie(labels = ['No Survived','Survived'],autopct = '%1.1f%%')\n",
    "plt.xlabel('parch')\n",
    "\n",
    "plt.subplot(1,2,2)\n",
    "no_parch_df['Survived'].value_counts().plot.pie(labels = ['No Survived','Survived'],autopct = '%1.1f%%')\n",
    "plt.xlabel('no_parch')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 3.6 亲友人数和存活的关系"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5, 0, 'sibsp')"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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Psyd5y4ej2vHjh0aO3as8vPz9fTTT+sLX/iCFi9erCFDhvT5859XJREAAACZcV59uxkAAACZQUkEAACAgZKIjNm1a5e+9a1vye/3y+/3a8GCBb36lpvf79f7779vY0IAOD+EQiE9/vjjkqSpU6c6nAb91Xn17Wac/6ZMmaLVq1dLOnWy8KxZszR37lwNGzbM4WQAcP4oLi5WcXGx0zHQz1ES4ZhwOCyXy6W9e/cm/0UciUS0atUqeb1e3XLLLRo+fLimTZumyZMn64EHHpBlWRo1apQefvhhSdLatWvV2dmpTz/9VI888kjyGnwA0J8cPHhQ99xzjzwej9xut6677jpt375dq1evViwW05133ql//vOfGj9+vFauXKndu3dr1apV8ng8GjZsmB5++GH95S9/0datWxUOh3X06FHddtttmjlzptMvDVmMkoiMeuONN+T3+5WTkyOv16tf/OIX+vvf/66HHnpIo0aN0pNPPqktW7Zozpw5+vjjj7Vx40bl5ubq2muv1erVq1VYWKjnnnsueZh5+vTpmjt3rtasWaMtW7Zo6dKlDr9CALDf66+/rssuu0zLly/X22+/3eNUm0gkorvuukujR4/WHXfcoW3btuntt99WRUWFbrrpJm3bti15Xcfjx4+rqalJXV1duv7661VeXp41F95G9uGTgYz638PN/9XS0qIHHnhAQ4YM0ZEjR1RaWipJ+vKXv6zc3FxJp24KX1hYKElauHBh8s9OnDhRkjRy5Eh1dnZm4iUAQMbNnz9fTz31lJYsWaKhQ4f2OA/x4osv1ujRoyVJl19+uQ4ePKif/OQnevLJJ7V48WKNGjVKkyZNkiR985vflMvl0siRIzVs2DB1dXXpoosucuQ1IfvxxRU47v7771djY6MCgYAuuugi/ffSnS7XZx/Piy66SIcOHZJ06m4Cf/3rX52ICgCO2Lp1q6644gr97ne/06xZs/TUU08l13300Uf617/+JUnavXu3xo0bpz/96U/6/ve/r2eeeUbjxo3Thg0bJEl79uyRdOqC4OFwOHkbP+B02JMIx82dO1cLFizQsGHDNHLkyORk979++ctf6t5775XL5dKFF16oH/7wh/r973/vQFoAyLyJEyfq5z//udasWSOXyyW/36+//e1vkqThw4eroaFBR44c0eWXX67p06fr3Xff1fLlyzVkyBB5vV7V19frrbfeUmdnpxYvXqxjx45pxYoVWXcbRGQX7rgCAMAAsGnTJh04cEB33XWX01FwnuBwMwAAAAzsSQQAAICBPYkAAAAwUBIBAABgoCQCAADAQEkEAACAgZIIAAAAw/8BgsA6brEEqvAAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 792x360 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig,ax = plt.subplots(1,2,figsize = (11,5))\n",
    "\n",
    "train_data[['Parch','Survived']].groupby('Parch')['Survived'].mean().plot.bar(ax = ax[0])\n",
    "plt.xlabel('parch')\n",
    "\n",
    "\n",
    "train_data[['SibSp','Survived']].groupby('SibSp')['Survived'].mean().plot.bar(ax = ax[1])\n",
    "plt.xlabel('sibsp')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0, 0.5, 'survived ration')"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX8AAAEHCAYAAABGNUbLAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAdRElEQVR4nO3df3RT9eH/8Vea/kAJjJ8iKxQK0llFFgr+mKwwrR1dERyopWILY4BMRHcAN5W5UjusUSci5ZfIVhWZFAHZ1MnZqTLROlGrAesJMOWHwDmiWETarglt7vcPvuZjD7QJmJsE7vNxDuf05ibv96tpfOV6c++NzTAMQwAAS4mLdgAAQORR/gBgQZQ/AFgQ5Q8AFkT5A4AFUf4AYEHx0Q4QCrfbraSkpLCM5fV6wzZWuJApNGQKXSzmIlNowpnJ6/XK6XSect1ZUf5JSUlKT08Py1gejydsY4ULmUJDptDFYi4yhSacmTweT6vr2O0DABZE+QOABVH+AGBBlD8AWBDlDwAWRPkDgAVR/gBgQZQ/AFgQ5Y+Y0Hi8Oeh9Qj3xJZSxAKs7K87wxbmvXYJdfe99JSxj7XWNCss4wLmMLX8AsCDKHwAsyJTdPn6/X8XFxdq5c6cSExM1f/589enTR9KJCw2VlpYG7ut2u7VkyRINHz7cjCgAgFMwpfwrKyvl8/lUUVEht9stl8ulZcuWSTrxod2qVaskSa+++qouuOACih8AIsyU8q+urlZmZqYkyel0qqam5qT7NDQ0qKysTM8995wZEQAAbTCl/Ovq6uRwOALLdrtdTU1Nio//v+nWrVunnJwcdenSJeh4Xq+3zetSn47GxsawjRUuZAr9MM5QRSp7LP7tpNjMRabQRCqTKeXvcDhUX18fWPb7/S2KX5JeeuklLVq0KKTx+DKXyIvFTKcjUtlj9XmKxVxkCs1Z/WUuGRkZ2rJli6QTH+impaW1WH/s2DH5fD717NnTjOkBAEGYsuWfnZ2tqqoq5efnyzAMlZaWqry8XCkpKcrKytKePXuUnJxsxtQAgBCYUv5xcXEqKSlpcVv//v0DPw8aNEhLly41Y2oAQAg4yQsALIjyBwALovwBwIIofwCwIMofACyI8gcAC6L8AcCCKH8AsCDKHwAsiPIHAAui/AHAgih/ALAgyh8ALIjyBwALovwBwIIofwCwIMofACyI8gcAC6L8AcCCKH8AsCDKHwAsKN6MQf1+v4qLi7Vz504lJiZq/vz56tOnT2D9G2+8oSVLlkiSLrnkEs2bN082m82MKACAUzBly7+yslI+n08VFRWaM2eOXC5XYF1dXZ0effRRLV++XGvXrlVycrKOHDliRgwAQCtMKf/q6mplZmZKkpxOp2pqagLrPvzwQ6Wlpenhhx/WhAkT1K1bN3Xp0sWMGACAVpiy26eurk4OhyOwbLfb1dTUpPj4eB05ckRbt27Vxo0bdf755+vWW2+V0+lUampqq+N5vV55PJ6wZGtsbAzbWOFCJik9PT2s40Uqeyz+7aTYzEWm0EQqkynl73A4VF9fH1j2+/2Kjz8xVadOnXTZZZepe/fukqShQ4fK4/G0Wf5JSUlhKwePxxP2ovm+yBR+kcoeq89TLOYiU2jCmamtNxFTdvtkZGRoy5YtkiS32620tLTAuoEDB2rXrl2qra1VU1OTtm3bposuusiMGACAVpiy5Z+dna2qqirl5+fLMAyVlpaqvLxcKSkpysrK0pw5czR16lRJUk5OTos3BwCA+Uwp/7i4OJWUlLS4rX///oGfR40apVGjRpkxNQAgBJzkBQAWRPlbUOPx5qD3CeUDp1DGARCbTNntg9jWLsGuvve+8r3H2eti1x1wtmLLHwAsiPIHAAui/AHAgih/ALAgyh8ALIjyNxmHVQKIRRzqaTIOqwQQi9jyBwALovwBwIIofwCwIMofACyI8gcAC6L8AcCCKH8AsCDKHwAsiPIHAAui/AHAgky5vIPf71dxcbF27typxMREzZ8/X3369Amsnz9/vj744AO1b99ekrR06VJ16NDBjCgAgFMwpfwrKyvl8/lUUVEht9stl8ulZcuWBdZ//PHHWrlypbp06WLG9ACAIEzZ7VNdXa3MzExJktPpVE1NTWCd3+/Xvn37VFRUpPz8fK1bt86MCACANpiy5V9XVyeHwxFYttvtampqUnx8vBoaGlRQUKDJkyerublZEydO1MCBA3XxxRebEQUAcAqmlL/D4VB9fX1g2e/3Kz7+xFTnnXeeJk6cqPPOO0+SdNVVV2nHjh1tlr/X65XH4wlLtsbGxrCNFYpQrtUfqnDlPtczSeHLFUykX0+hisVcZApNpDKZUv4ZGRnavHmzcnNz5Xa7lZaWFli3d+9ezZo1Sy+++KL8fr8++OADjR07ts3xkpKSwlYOHo8n7EUTKbGYOxYzSZHLFauvp1jMRabQhDNTW28ippR/dna2qqqqlJ+fL8MwVFpaqvLycqWkpCgrK0ujR49WXl6eEhISdMMNN2jAgAFmxAAAtCJo+W/cuFFPPvmkfD6fDMOQzWbTa6+91uZj4uLiVFJS0uK2/v37B36eNm2apk2bdoaRAQDfV9Dyf+qpp7R8+XL17NkzEnkAABEQtPx79+7d4gQtAMDZL2j5t2vXTlOnTlV6erpsNpskafbs2aYHAwCYJ2j5jxgxIhI5AAARFPQM39GjR6uhoUHbt2/XN998o1GjRkUiFwDAREHLv6ioSPv379ewYcN08OBB3X///ZHIBQAwUdDdPvv27dPq1aslSdddd53y8/NNDwUAMFfQLX+v16v//e9/kk6cdtzc3Gx6KACAuYJu+U+cODFwFu4nn3yiO++8MxK5AAAmClr+Y8aM0fDhw7V//3716tVLnTt3jkQuAICJWi3/pUuXasaMGZo9e3bg+P5vPfbYY6YHAwCYp9Xyv/baayWJD3gB4BzU6ge+AwYMkM/n07PPPqvBgwfL6XRq0KBBWrx4cSTzAQBM0OqW//r167V8+XIdPnxYOTk5MgxDdrtdQ4YMiWQ+AIAJWi3/vLw85eXlad26dbrpppsimQkAYLKgR/tcfvnlevLJJ3X8+HFJ0hdffHHStfoBAGeXoCd53XPPPZKkDz74QAcOHNDXX39teigAgLmCln+7du00ffp09ejRQy6XS4cPH45ELgCAiYKWv2EY+vLLL9XQ0KCGhgYdPXo0ErkAACYKWv4zZ85UZWWlxowZo6ysLA0fPjwSuQAAJgr6ge/27ds1ZcoUSVJWVpbpgQAA5gu65f/GG2+c9pU8/X6/ioqKNH78eBUWFmrfvn2nvM/UqVP1/PPPn9bYAIDvL+iW/5EjR5SZmalevXrJZrPJZrNpzZo1bT6msrJSPp9PFRUVcrvdcrlcWrZsWYv7LFy4kM8PACBKgpb/8uXLT3vQ6upqZWZmSpKcTqdqamparN+0aZNsNhufHwBAlAQt/+Tk5NMetK6uTg6HI7Bst9vV1NSk+Ph47dq1Sy+//LIWLVqkJUuWhDSe1+uVx+M57Ryn0tjYGLaxQpGenh62scKV+1zPJIUvVzCRfj2FKhZzkSk0kcoUtPzPhMPhUH19fWDZ7/crPv7EVBs3btShQ4c0adIkHTx4UAkJCUpOTm7z/wKSkpLCVg4ejyfsRRMpsZg7FjNJkcsVq6+nWMxFptCEM1NbbyKmlH9GRoY2b96s3Nxcud1upaWlBdb9/ve/D/xcVlambt26sfsHACKs1fIvLCw86UtcvvXss8+2OWh2draqqqqUn58vwzBUWlqq8vJypaSkcLgoAMSAVsv/gQcekCQtWbJEWVlZGjJkiLZv367NmzcHHTQuLu6ki7/179//pPvxfcAAEB2tHuffr18/9evXT4cPH1Zubq569Oih7OxsHThwIJL5AAAmCGmf/wsvvKBBgwbpww8/1HnnnWd2JgCAyYKe4fvnP/9Zu3fv1mOPPaa9e/fq8ccfj0QuAICJgm75d+/eXZmZmUpNTdWgQYNkt9sjkQsAYKKg5b9gwQJ9/vnn+vTTT5WQkKAVK1ZowYIFkcgGADBJ0N0+1dXVeuSRR3T++edr7NixfOALAOeAoOXf3Nwsr9crm82m5uZmxcUFfQgAIMYF3e0zadIkjRs3TrW1tbr55ps1efLkSOQCAJgoaPlfeeWVuvrqq7Vv3z716tVLXbp0iUQuAICJgpb/lClTlJKSory8PIofAM4RQXfgv/jii5o6daoqKys1bty4k76UBQBw9gnp09sBAwbI6XSqc+fOev/9983OBAAwWdDdPvfdd5+2bdumkSNH6oEHHlCvXr0ikQsAYKKg5Z+dna0HH3yQQzwB4BzSavkvXbpUM2bM0Msvv6xXXnmlxbrHHnvM9GAAzh6Nx5vVLqHtS7+E8u1UoYyD8Gi1/K+99lpJUn5+fsTCADg7tUuwq++9rwS/YxB7XaPCkAahaLX8L774YkmSy+XSjTfeqBtuuKHFl7IDAM5eQXfkr1ixQo2NjZo0aZLuvfdeVVdXRyIXAMBEQcu/W7dumjJlisrKyuT1enX77bdHIhcAwERBj/bZuHGjXnzxRfn9ft1444166KGHIpELAGCioOX/7rvvqqio6JRfwN4av9+v4uJi7dy5U4mJiZo/f7769OkTWL969Wpt2LBBNptNd9xxh6655pozSw8AOCNBy3/Pnj2nVfySVFlZKZ/Pp4qKCrndbrlcrsBlIWpra/W3v/1NGzdulNfr1ahRo/Szn/1MNpvtzH4DAMBpC1r+P/jBD/TMM88oNTU1cKLXT3/60zYfU11drczMTEmS0+lUTU1NYF2XLl3097//XfHx8Tp48KA6duxI8QNAhAUt/86dO2vHjh3asWNH4LZg5V9XV9fisFC73a6mpibFx5+YLj4+Xs8995zKyspUWFh4ptlbCPXkEE40AYAQyv9MPuB1OByqr68PLPv9/kDxf6ugoEB5eXmaNm2a3nnnHV111VWtjuf1euXxeNqcMz09PSwnmUgnTjQJNl+oQnmzCRWZQheuXME0NjZGbK7TEelcsfiaCkUs/v0ilSlo+X93K//rr79W79699eqrr7b5mIyMDG3evFm5ublyu91KS0sLrNu9e7cWLFigsrIyJSQkKDExMeh1g5KSksJeDsFEer5QkCl0kcrl8Xhi8jmI1VyhiGTuWHyewpmprTeRoOX/1ltvBX4+ePCgFi9eHHTC7OxsVVVVKT8/X4ZhqLS0VOXl5UpJSVFWVpYuvvhijR8/XjabTZmZmbriiitC/FUAAOEQtPy/Kzk5Wbt37w56v7i4OJWUlLS47btHDM2cOVMzZ848nakBAGEUtPxnz54dOBrniy++UNeuXU0PBQAwV9Dy/+5VPZOSkjRw4EBTAwEAzBf02j59+/ZVly5d1K1bN1VUVOi///1vJHIBAEwUtPzvueceHT58WAsXLtSwYcP04IMPRiIXAMBEQcu/qalJl19+ub755huNGjVKfr8/ErkAACYKWv7Hjx/XQw89pKFDh+qdd95Rc3NzJHIBAEwUtPxdLpdSU1N12223qba2Vo8++mgkcgEATBT0aJ++ffuqb9++kqTc3Fyz8wAAIiDolj8A4NxD+QOABVH+AGBBlD8AWBDlDwAWRPkDgAVR/gBgQZQ/AFgQ5Q8AFkT5A4AFUf4AYEGUPwBYEOUPABYU9KqeZ8Lv96u4uFg7d+5UYmKi5s+frz59+gTWP/3003rllVckSSNGjNDMmTPNiAEAaIUpW/6VlZXy+XyqqKjQnDlz5HK5Auv279+vf/zjH1qzZo0qKir01ltvaceOHWbEAAC0wpQt/+rqamVmZkqSnE6nampqAusuvPBCrVy5Una7XdKJr4lMSkoyIwYAoBWmlH9dXZ0cDkdg2W63q6mpSfHx8UpISFCXLl1kGIYeeeQRXXLJJUpNTW1zPK/XK4/H0+Z90tPTw5L9W8HmC1U4c5EpdOHIldK3n9qf1/aGSai56//n1Wd7d3/vTKFqbGwM298mFLH4mgpFpJ+nUEQqkynl73A4VF9fH1j2+/2Kj/+/qbxer+bOnav27dtr3rx5QcdLSkoKezkEE+n5QkGm0IUrV997XwnLOHtdoyL6XHk8npj92wRj9ecpnJnaehMxZZ9/RkaGtmzZIklyu91KS0sLrDMMQzNmzNCPfvQjlZSUBHb/AAAix5Qt/+zsbFVVVSk/P1+GYai0tFTl5eVKSUmR3+/Xu+++K5/PpzfffFOSNHv2bA0ePNiMKACAUzCl/OPi4lRSUtLitv79+wd+/uijj8yYFgAQIk7yAgALovwBwIIofwCwIMofACyI8gcAC6L8AcCCKH8AsCDKHwAsiPIHAAui/AHAgih/ALAgyh8ALIjyBwALovwBwIIof+As0ni8OaT7hfJNUKGOhXOTKdfzB2COdgn2sH61JKyLLX8AsCDKHwAsiPIHAAui/AHAgih/ALAgU8rf7/erqKhI48ePV2Fhofbt23fSfWpra/Xzn/9cXq/XjAgAgDaYUv6VlZXy+XyqqKjQnDlz5HK5Wqx/88039etf/1qHDx82Y3oAQBCmlH91dbUyMzMlSU6nUzU1NS0njYtTeXm5OnXqZMb0AIAgTDnJq66uTg6HI7Bst9vV1NSk+PgT0w0bNuy0xvN6vfJ4PG3eJ5QzGk9HsPlCFc5cZApdOHKRKXSx+JoKRWNjY0TnC0WkMplS/g6HQ/X19YFlv98fKP4zkZSUFPYXfTCRni8UZApdLOYiU2gimcnj8cTccxDOTG29iZiy2ycjI0NbtmyRJLndbqWlpZkxDQDgDJmy5Z+dna2qqirl5+fLMAyVlpaqvLxcKSkpysrKMmNKAMBpMKX84+LiVFJS0uK2/v37n3S/119/3YzpAQBBcJIXAFgQ5Q8AFkT5A4AFUf4AYEGUPwBYEOUPABZE+QOABVH+AGBBlD8AWBDlDwAWRPkDgAVR/gBgQZQ/AFgQ5Q8AFkT5A4AFUf4AYEGUPwBYEOUPABZE+QOABVH+AGBBppS/3+9XUVGRxo8fr8LCQu3bt6/F+rVr12rcuHHKy8vT5s2bzYgAAGhDvBmDVlZWyufzqaKiQm63Wy6XS8uWLZMkffnll1q1apXWr18vr9erCRMmaNiwYUpMTDQjCgDgFEzZ8q+urlZmZqYkyel0qqamJrBu+/btGjx4sBITE9WhQwelpKRox44dZsQAALTClPKvq6uTw+EILNvtdjU1NQXWdejQIbCuffv2qqurMyMGAKAVpuz2cTgcqq+vDyz7/X7Fx8efcl19fX2LN4NT8Xq98ng8Qed9dVK/M0zcUihznY5w5CJT6MKZi0yhi8XXVKzOGUy4Mnm93lbXmVL+GRkZ2rx5s3Jzc+V2u5WWlhZYN2jQIC1cuFBer1c+n0+ffvppi/Wn4nQ6zYgJAJZlMwzDCPegfr9fxcXF2rVrlwzDUGlpqbZs2aKUlBRlZWVp7dq1qqiokGEYmj59ukaOHBnuCACANphS/gCA2MZJXgBgQZQ/AFgQ5Q8AFkT5xwifzxftCAGNjY0xlUeSvvrqq2hHaMHv9+vQoUPy+/3RjnKS2tpaRfujvLPh3B2fz6fGxsZox4gayj/CXn/9dV1zzTXKzs7WP//5z8DtU6dOjVqm/fv3a8aMGSoqKtLbb7+t3Nxc5ebmRvW6S3v27Gnx7/bbbw/8HC1z586VJG3btk0jR47UzJkzdf3118vtdkctkyStX79eixcv1scff6ycnBxNnjxZOTk5evvtt6OWadiwYXrhhReiNv+p7NmzR3fddZfmzJkjt9ut0aNHa9SoUS3+O7QUAxF18803G0eOHDFqa2uNwsJCY8OGDYZhGEZBQUHUMhUUFBhbt241NmzYYAwZMsQ4fPiwcezYMWP8+PFRyzRixAhj5MiRRmFhoVFQUGAMHTrUKCgoMAoLC6OW6du5J02aZOzZs8cwDMP4/PPPjVtvvTVqmQzDMMaNG2fU19cbEydONHbv3h3INW7cuKhlysvLMx544AGjsLDQ2Lp1a9RyfNett95qVFVVGZs2bTKuuOIK4/PPPzfq6+uNvLy8aEeLClNO8ooVhYWFOn78eIvbDMOQzWbTmjVropIpISFBnTp1kiQtXbpUkyZNUs+ePWWz2aKSR5Kampp0xRVXSJK2bt2qrl27SlLgrOxoWL9+vebNm6dbbrlFw4YNU2FhoVatWhW1PN9lt9vVt29fSVKPHj2ivusnISFB559/vtq3b6/evXsHckXzNZWUlKSioiJ99NFHWrFihUpKSvSTn/xEvXv31sSJE6OSqampSVdffbUMw9CCBQvUo0cPSdF9nUfTOf1b33333br//vu1ZMkS2e32aMeRJCUnJ+uhhx7Sb3/7WzkcDi1evFhTpkzRN998E7VMqamp+sMf/qA//elPcrlckqQVK1aoW7duUcvUtWtXLVy4UA8//LA++uijqOX4rmPHjmncuHFqaGjQCy+8oDFjxsjlcumHP/xhVHNde+21uv3225WWlqbp06crMzNTb775pq666qqoZTL+/2cOl112mcrKynTs2DG99957Ud1tl5ycrFmzZqm5uVnt27fX448/LofDoe7du0ctkyRVVFS0um78+PGmzWsvLi4uNm30KLvwwgvV0NCgpqYmOZ1OdezYMfAvWq655hp99dVXGjBggBISEtShQweNHDlSR48e1fDhw6OWSZL69+8fuO3AgQOaPn26EhISopJJkuLi4jR8+HB99tln8ng8GjduXNSySFJ+fr7Gjh2rwYMHq1evXurcubO++OIL3XXXXVHduBgyZIguuOACffbZZ0pISJBhGMrJydGECROilslmsyk9PT2wnJSUpNTUVGVkZEQtU1ZWlpKSkpSTk6OxY8equrpaiYmJmjNnTlRf5y+99JI2bNig3r17q6GhocW/b/+P3Ayc4QsAUTZt2jTdeeedGjRoUMTmpPwBIMpqa2vV0NCgXr16RWxOyh8ALOic/sAXAGJdtI5KZMsfAKJo27ZtrR6VmJycbNq8lD8ARNnKlSvVp08fZWdnR2xOyh8ALIhr+wCABVH+AGBBlD/Oac3NzZoyZYpuueUWHT169LQfv2HDBr322mvaunWrZs2a9b3zeDweLV68+HuPA3xfHOqJc9qXX36pI0eOaMOGDWf0+G8vKbF169aw5ElPT29x2QMgWih/nNP++Mc/au/evZo7d65qa2vl9Xr19ddf64477tB1112n0aNHa+jQodq1a5dSU1PVtWtXvf/++0pMTNSKFSu0fPlydevWTf369ZMkvfXWW1q7dq0WLVok6cT1fhYtWqQLLrjgpLn37Nmj++67T/Hx8bLb7XrkkUe0d+9erVmzRrNnzw58P0B9fb12796t//znP/r3v/+tp59+WnFxcRoyZIjuvvvuyD1ZsBR2++CcNm/ePF100UW6/vrrNXnyZJWXl+uPf/yjVq9eLelE8V5//fVavXq13n//fWVkZGj16tU6fvy4Pvnkk5PGGzZsmHbt2qWjR4/qk08+UefOnU9Z/JL09ttv69JLL1V5ebl+85vftNjt1Lt3b61atUp/+ctf1KlTJz3xxBPyer0qKyvT008/reeff16HDh1SVVWVOU8MLI8tf1hC9+7dtWzZMq1bt042m01NTU2BdZdeeqkkqWPHjoErm3bs2FFer/ekcWw2m8aMGaOXX35ZBw4c0E033dTqnDfddJOeeuopTZ06VR06dDjpM4Pm5mbNmjVLY8aM0YgRI7R9+3bV1tbqtttuk3TijWn//v3f+3cHToUtf1jCE088oRtuuEGPPvqorrzyyhbfcXu6X3py4403atOmTXrvvfc0YsSIVu/32muvaciQIXrmmWeUk5OjlStXBtYZhqG5c+dq8ODB+uUvfylJ6tWrl3r27Km//vWvWrVqlQoKCvTjH//4NH9TIDRs+cMScnJy9OCDD+rJJ59Uz549deTIkTMeq0ePHmrfvr2cTmeb3wI1cOBA/e53v1NZWZni4uJ03333Bb7YfNOmTfrXv/6lQ4cO6Y033pB0YhfVr371KxUWFqq5uVnJycn6xS9+ccY5gbZwhi9wBqZPn665c+eqT58+0Y4CnBG2/IHT0NjYqAkTJigzMzNQ/MXFxfr0009Puu9TTz2ldu3aRToiEBK2/AHAgvjAFwAsiPIHAAui/AHAgih/ALAgyh8ALIjyBwAL+n9pHn3e1miWdgAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#创建一个亲友人数的特征\n",
    "\n",
    "train_data['family_size'] = train_data['Parch'] + train_data['SibSp'] + 1\n",
    "\n",
    "train_data[['family_size','Survived']].groupby('family_size')['Survived'].mean().plot.bar()\n",
    "plt.xlabel('family_size')\n",
    "plt.ylabel('survived ration')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "由上图可以看出，自己一个人的时候，存活率是比较低的；家庭成员比较多的时候，存活率也是比较低的。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 3.7 票价分布和存活的关系"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0, 0.5, 'Frequency')"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#首先查看票价的分布\n",
    "\n",
    "plt.figure(figsize = (6,4))\n",
    "train_data['Fare'].hist(bins = 70)\n",
    "plt.xlabel('Fare')\n",
    "plt.ylabel('Frequency')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x145da7b4898>"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "train_data.boxplot(column = 'Fare',by = 'Pclass',showfliers = False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "count    891.000000\n",
       "mean      32.204208\n",
       "std       49.693429\n",
       "min        0.000000\n",
       "25%        7.910400\n",
       "50%       14.454200\n",
       "75%       31.000000\n",
       "max      512.329200\n",
       "Name: Fare, dtype: float64"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_data['Fare'].describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x145da81ecc0>"
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#观察票价的均值，标准差与生存的关系\n",
    "\n",
    "fare_not_survived = train_data[train_data['Survived'] == 0]['Fare']\n",
    "fare_survived = train_data[train_data['Survived'] == 1]['Fare']\n",
    "\n",
    "avg_fare = pd.DataFrame([fare_not_survived.mean(),fare_survived.mean()])\n",
    "std_fare = pd.DataFrame([fare_not_survived.std(),fare_survived.std()])\n",
    "\n",
    "\n",
    "avg_fare.plot(yerr = std_fare, kind = 'bar',legend = False)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "由图可知，票价与是否生还是存在一定的相关性的，高票价对应的生还率也相应的高。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 3.8 登陆港口与存活的关系"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "泰坦尼克号从英国南安普顿出发，途径发过瑟堡和爱尔兰昆士敦，在昆士敦之前上船的人，有可能在瑟堡和昆士敦下船，这些乘客将不会遭遇沉船事故。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x145da890b38>"
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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EAk4lYDI/xszZgw333wzR44coX379iQnJ7Nz507OnDnDn/70JwD27t3L/fffT11dHTk5OQwYMIB//vOfrF692r2c5557jiNHjvD0008TGhrKyJEj3c+tXbuWXbt2UVxczN69e1m0aBHBwcHEx8czb9486uvrefzxxzlz5gwJCQl+/zcQ61EJiCW99dZbjBkzxv24f//+APTq1YtZs2Yxfvx42rZty5///GemTZvG22+/DUC7du1YuXIlNTU1ZGRkkJaWxkcffcTKlStp164deXl57Ny5k44dO+J0OiktLQVg8eLFlJSUYLfbee655wgKCmL27NmsWbOGDh068Oyzz7Jp0ybq6+vp1q0bjz32GPv27aOsrMz//zhiKSoBsaRLDQe9+eab9OjRA4DIyEi6du3q/vub8fzbbrsNwzDo0KEDERERfPnll3To0IFp06YRFhbGhx9+SO/evYGvrwH1bXv27CE4OJjg4GBOnTrF559/zpQpUwA4f/48v/jFLzh9+jT9+vUD4NZbbyUkRP+Lim/pwLBIMxw4cACAkydPcvbsWUJDQ1m8eDGLFi3iySefxGaz8c1J+EFBF//vtWzZMiIjI1m7di0//vGPuf7661m2bBklJSVMnDiRlJQUOnfuzN69ewE4dOgQFy5c8O8KiuXoa4ZY0neHg+Drb+NXcv78ecaOHcvZs2eZN28e4eHhJCUlMXz4cNq3b09kZCSff/45cXFxl3z9rFmzyMjIoG/fvsycOZMJEyZgmiZhYWE89dRT3H777cyYMYNRo0bRuXNnQkNDvbK+Ik3RtYNERCxMw0EiIhamEhARsTCVgIiIhakEREQsTCUgImJhKgEREQtTCYiIWNj/AeHdD2pzrHz8AAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.countplot(x = 'Embarked',hue = 'Survived',data = train_data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5, 1, 'Embarked and Survived Rate')"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAagAAADeCAYAAABovpSoAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAgAElEQVR4nO3deVhU5fvH8ffAMOyIiEsuuOMCKoK7giLZgriV+5qVVm6VS7aYmpHibppLWVmZW5apWWm5geKOYYKA+66AoAiDMDBzfn+QU3xV5FcMM8D9ui4vnHPOzLkPDPPhOec5z6NSFEVBCCGEsDBW5i5ACCGEeBgJKCGEEBZJAkoIIYRFkoASQghhkSSghBBCWCQJKCGEEBZJAkoUmwYNGtCtWzd69OiR79/Vq1cL/RqHDx8mJCSkSGpJTU3918/fvn07Q4YM+c91PExqaioNGjR46LqkpCTeeOMNunXrRrdu3ejTpw87d+4ssn2fPHmScePGFdnrNW/e/KE/37fffht/f3/je6Bbt24EBQWxcuXKx77mlStXGDt2bJHVKCyX2twFiLLl66+/xs3NzdxllFhTpkyhXbt2LFq0CICzZ88yYMAAateuTd26df/z6zdp0oTFixf/59cpjBdeeIGXXnrJ+Pj69esEBwfTuXPnAo/l+vXrXLhwoThKFGYmASUswuHDh1mwYAFPPPEEFy5cwN7enpEjR7J69WouXLjAU089xbvvvgtAZmYm48aN49KlS7i4uDBjxgxq167NhQsXmDFjBlqtluTkZBo2bMiiRYuwtbXF29uboKAg4uPjmTdvnnG/ycnJDB8+nAEDBjBo0CDOnTvHRx99xJ07d9Dr9QwZMoTevXsD8PHHH/PTTz/h6upKzZo1H3ocBoOBmTNncuLECbRaLYqiEBoaip+fH2+//TZOTk4kJCRw8+ZNGjRowOzZs3F0dOS3335j4cKF2Nvb4+3t/cjvU3JyMllZWRgMBqysrKhXrx7Lly/HxcUFyGsZHjx40PhHwP3HZ86c4aOPPsLBwQGtVkv9+vXx9vbmxRdfBGDt2rUcOXKEAQMG8OGHH7Ju3To6duzIjh07qFixIgB9+vRhzJgxtG3blnnz5nH06FH0ej2NGzdmypQpODk5cezYMT788ENUKhVNmjTBYDAU+j1w8+ZNFEXByckJgBUrVrBr1y6ysrK4d+8ekydPpnPnzkyZMoXExEReeuklvvjiC44fP868efO4d+8eVlZWjBkzhsDAwELvV1gwRYhi4unpqYSEhCjdu3c3/hs1apSiKIpy6NAhpVGjRkpsbKyiKIry0ksvKf369VOys7OVlJQUxcvLS7l586Zy6NAhpWHDhkpUVJSiKIqyfv16pXfv3oqiKEpYWJiyefNmRVEURafTKSEhIcr27duN+/7xxx/z1XLq1CklODhY2bJli6IoipKTk6MEBwcrMTExiqIoyt27d5Vnn31W+eOPP5Tff/9dCQ4OVtLT05WcnBxl5MiRyuDBgx84xuPHjytjx45V9Hq9oiiK8umnnyqvvPKKoiiKMnnyZOMx6XQ6pWfPnsr333+vJCcnK35+fsqZM2cURVGUFStWKJ6eng/9Hh44cEBp37690qpVK+XVV19VVq5cqdy8eTPfcaWkpDzw+P737erVq4qiKMrBgweVkJAQ43a9e/dWIiMjlUOHDildu3ZVFEVR3nrrLeXzzz9XFEVRzp49q3Tq1EnR6/XKkiVLlLCwMMVgMCiKoijz589Xpk2bpmRnZyvt2rVTDhw4oCiKovz000+Kp6encuXKlQeOY/LkyUqHDh2U7t27K507d1ZatWqlvPbaa8rBgwcVRVGUq1evKkOGDFHu3bunKIqibNu2zVjvP2u8c+eO8tRTTxn3cfPmTSUgIEC5du3aQ79/omSRFpQoVgWd4qtevTqNGzcGwMPDA2dnZzQaDW5ubjg6OpKWlgbktQp8fX0B6NWrF9OnTyc9PZ1JkyYRGRnJypUruXjxIklJSWRmZhpfv0WLFvn2N2LECKpUqUK3bt0AuHjxIpcvXza21ACysrI4deoU586do0uXLsa/7p9//nlWr179wDE0b96ccuXKsX79eq5cucLhw4dxdHQ0rvf390ej0QDg6elJWloaUVFReHp6Uq9ePQD69evHggULHvo9atu2LXv37iU6Oppjx46xZ88eli5dytdff03Tpk0f9W0H4IknnqBatWoAtG7dmuzsbE6ePIm9vT2pqam0bduWI0eOGLfv06cPH3zwAS+99BI//PADzz//PFZWVuzdu5f09HQOHDgAQE5ODhUqVOD06dOo1Wratm0LQEhICFOnTn1kPfdP8WVmZvLmm2+i0Who3bo1ANWqVWPOnDn89NNPXLp0ydgi/V/R0dEkJyczevRo4zKVSkVCQgJVq1Yt8PshLJ8ElLAY9z+471OrH/72tLLK37dHpVKhVqsZP348er2eZ599lk6dOnHjxg2Ufww16eDgkO95M2bMYMWKFaxatYoXX3wRvV6Ps7MzW7ZsMW5z69YtnJ2dmTNnTr7Xsra2fmhte/fu5aOPPmL48OEEBQVRp04dtm7dalxvZ2eXr+77r/nP137UcaekpLBkyRLef/99WrRoQYsWLXj11Vd577332Lx58wMBpdPp8j3+5/GrVCp69+7Nli1bsLGxoXfv3qhUqnzbt2jRgtzcXP7880+2bdvGhg0bgLzTmO+++y4dO3YEQKvVkp2dzfXr1/MdR0HH8r91zZkzh+DgYL766iuGDx9ObGwso0aN4oUXXqB9+/a0bNmSDz744IHn6vV66taty8aNG43LEhMT5TpnKSG9+ESJk5CQQFxcHAAbNmzAz88Pe3t79u/fz+jRowkODgbgxIkT6PX6R76Oj48PYWFhLF++nNOnT1O7dm3s7OyMAXXjxg1CQkKIiYkhICCA7du3c/fuXQwGQ74Q+6fIyEgCAwMZOHAg3t7e7Ny5s8AaAFq2bMnZs2eJj48HYNOmTQ/drly5chw4cIBvvvnGGAT37t3j8uXLxpanm5sbJ0+eBGDbtm0F7rdXr17s3r2bHTt28Nxzzz10mz59+vDhhx/SoEEDnnjiCQA6dOjAmjVr0Ol0GAwG3n//fRYsWECDBg1QFIXw8HAAdu3aZWz1Pk65cuWYPHkyixcvJjExkaNHj+Lt7c3w4cNp1aoVu3btMn4fra2tycnJAfJ+hpcuXeLo0aMAxMXF8fTTT5OYmFio/QrLJi0oUayGDRv2QAto/Pjx+VoWj1OnTh0++eQTrly5QoUKFQgLCwPgzTffZPTo0Tg4OODk5ETLli25fPnyY19r1KhRTJo0iY0bN7Js2TI++ugjPv/8c3Jzc3n99dfx8/MD8oLx+eefx8XFhYYNG3L79u0HXq9///5MmDCBbt26kZubS/v27fntt98K7Czg5ubGvHnzmDhxIjY2NrRs2fKh26nVar744gvmzp3L6tWrcXBwQKVS0atXL2NHjilTpjBjxgxcXFxo166dsYPDw1SsWJHGjRuTm5tL5cqVH7pNz549WbBgQb5TjqNGjWL27Nn06tULvV5Po0aNePvtt7GxsWHp0qVMnz6dBQsW0KhRIypUqPDI/f+v7t27s3HjRmbPns27777Lb7/9xrPPPovBYCAwMJC0tDQyMjKoV68etra29O7dm40bN7J48WLmzJlDdnY2iqIwZ84cqlevXuj9CsulUv63TS6EEEJYADnFJ4QQwiJJQAkhhLBIElBCCCEskgSUEEIIi1SiA+rMmTPmLkEIIYSJlOiAys3NNXcJQgghTKREB5QQQojSSwJKCCGERZKAEkIIYZEkoIQQQlgkCSghhBAWSQJKCAu1Oz6Rfp8eZHe8jMwtyiYZzVwIC7Xg99PEXLuLVpdL54YPH21ciNJMWlBCWChttj7fVyHKGgkoIYQQFkkCSgghhEWSgBJCCGGRJKCEEEJYJAkoIYQQFkkCSgghhEUyyX1QBoOB6dOnk5CQgEajITQ0lJo1axrXh4eHs3TpUgAaN27MtGnTyM7OZtKkSaSkpODo6Mjs2bNxc3MzRXlCCCFKAJO0oHbu3IlOp2PDhg1MmDCBsLAw47qMjAzmzp3LihUr+O6776hWrRq3b99m3bp1eHp6snbtWnr27MmyZctMUZoQQogSwiQBFRUVhb+/PwA+Pj7ExMQY1/3xxx94enoye/ZsBg4ciLu7O25ubvmeExAQwMGDB01RmhBCiBLCJKf4MjIycHJyMj62trYmNzcXtVrN7du3OXz4MJs3b8bBwYFBgwbh4+NDRkYGzs7OADg6OpKenv7Y/WRnZxMXF2eKQxDC7HQ6nfGrvM9FadaoUaOHLjdJQDk5OaHVao2PDQYDanXerlxdXWnSpAkVK1YEoEWLFsTFxeV7jlarxcXF5bH7sbW1feSBCVHSaX5OBHLQaDTyPhdlkklO8fn6+hIREQFAdHQ0np6exnXe3t6cPn2a1NRUcnNzOXHiBPXq1cPX15fw8HAAIiIi8PPzM0VpQgghSgiTtKC6dOlCZGQk/fv3R1EUZs6cyapVq/Dw8CAoKIgJEybw8ssvA/DMM8/g6elJjRo1mDx5MgMGDMDGxob58+ebojQhhBAlhEpRFMXcRfxbcXFxcupDlFqB8/Zy4ZaW2u6O7JnYydzlCFHs5EZdIYQQFkkCSgghhEWSgBJCCGGRJKCEEEJYJAkoIYQQFkkCSgghhEWSgBJCCGGRJKCEEEJYJAkoIYQQFkkCSgghhEWSgBJCCGGRJKCEsDBpmTmsCD/H9Tv3AEjV6rj21/+FKEskoISwIFdSMwlevI+wX+PJzjUAkHYvh6cWhnPkQqqZqxOieElACWFBJm488dDWkjZbz5i1x9H9FVpClAUmmQ/KYDAwffp0EhIS0Gg0hIaGUrNmTeP60NBQjh8/jqOjIwDLli1Dr9fz9NNPGyc3fPLJJxk2bJgpyhPCIp1NyuBwAa2kpPRsdsYlEtzkiWKsSgjzMUlA7dy5E51Ox4YNG4iOjiYsLIzly5cb18fGxvL555/j5uZmXHbgwAFCQkJ4//33TVGSEBbvUor2sdtcLMQ2QpQWJjnFFxUVhb+/PwA+Pj7ExMQY1xkMBi5dusTUqVPp378/33//PQAxMTHExsYyePBgxo0bR1JSkilKE8JiuTvZPnabC8laDIYSO8eoEP8vJmlBZWRk4OTkZHxsbW1Nbm4uarWazMxMBg8ezPDhw9Hr9QwdOhRvb2/q1KmDt7c37dq1Y+vWrYSGhrJ48eIC95OdnU1cXJwpDkGIYqXTG/j0SMpjt9sYdZUTF5N5rXUFGla0K4bKhDC9R82MbpKAcnJyQqv9+1SEwWBArc7blb29PUOHDsXe3h6ANm3aEB8fz5NPPmlc1qVLl8eGE4Ctra1M+S5KvCupmYxac5yT19IL3E4FKMDplGze/OU6vf2q89YzDajkLEElSieTnOLz9fUlIiICgOjoaGPHB4CLFy8ycOBA9Ho9OTk5HD9+HC8vL6ZMmcKOHTsAOHjwIF5eXqYoTQiLsjs+kZAl+zl5LQ2AcvY2zOjhRfdmVVGp8raxt7Fi7cut+eV1f1rX/vu67fdRV+k8L5yVEeeld58olVSKohT5Ce37vfhOnz6NoijMnDmTiIgIPDw8CAoKYuXKlWzfvh0bGxt69OjBgAEDuHLlCu+++y6Q18oKDQ2lUqVKBe4nLi5OWlCiRNIbFBb8nsDSPeeMy5pWL8eyQb5UL+8AQOC8vVy4paW2uyN7JnYCQFEUfj55g49+juNGWpbxuXUqOjKtmxcdPSsW63EIYUomCajiIgElSqLk9GxeX/8HB879fc1pSJuaTAlphK3a2rjsYQF1X6YulxV7z7Hif1pPXRpX5v2ujfGo4GDy4xDC1ORGXSGK0dGLqYQs2WcMJ3sbaz7u78OHPb3zhdPjOGjUjH+qAbvGd+SpxpWNy38/lciTC8OZtyOBTF1ukdcvRHGSgBKiGCiKwsqI8/T/7BCJd7MBqFvRka1j2tPDp9q/ft0abg58NrQF37zYiroV82581+Ua+GTPWYLmh7P1xHVK8EkSUcZJQAlhYnezcnj12yg++iUO/V/3MIU0fYItYzpQv7JzkewjwLMi298IYErXRjjb5vWYvZGWxbh1f9Dvs0Ocun63SPYjRHGSgBLChE5dv0v3JfvZEZsIgI21ig+6e7FkQHOcbIv2Lg8bayte9q/D7omd6ONX3bj8yIW804rvb47htlZXpPsUwpQkoIQwkY3HrtBrWSQXUzIBqFrOjg2vtGVYu1qo7vchN4GKzrbM7dOMzaPb06yGKwAGBVYfukTg/L2sPnTJ2JITwpJJQAlRxLJy9Lz9w59M+v5P45QZAZ4V2TbOH1+P8sVWh08NV358rR1zejfF3UkDwJ3MHN7fHEPIkv0yfYeweBJQQhShSylanlt2gPVHrwCgUsGbT3qy6oWWuDlqir0eKysVfVvUYPfETrzcoTZqq7yWW9yNu/T99CDj1v3BjTSZDFFYJgkoIYrIb7E3CVmyn1M38joklHew4evhrXj9yfpYW5nulF5huNjZMCWkMdvf8Me/vrtx+dYT1+k8L5yle86SlaM3Y4VCPEgCSoj/KFdvYNYvcYxcHUV6Vt69R809XPl5nD8BFjayQ71KznzzYis+HeJH9fJ5Y1/ey9Ezd0cCTy+KYOepROmWLiyGBJQQ/0HS3SwGfn6YTyPOG5cNb1+LDSPbUtXV3oyVPZpKpeJpryrsHN+RCV08sbPJ+xi4lJLJy98c44VVRzmXnGHmKoWQgBLiXzt4LoXgxX93NnDUWPPJwOZM6+aFRm35v1p2NtaMDarP7gmdCGn69yy94aeTeXphBDN/iSM9K8eMFYqyzvJ/i4SwMAaDwvK95xj0+SFuZeSNCuFZ2YktYzoQ0rSqmav7/6vqas8nA31ZP7INDavk3Tica1D4LOI8neeH80PUVZkkUZiFBJQQ/w9pmTmMXB3F7O3x3P/M7tW8GptHt6deJaeCn2zh2tSpwLaxHZjRw4ty9jZA3sC2Ezae4PkVB/jz6h0zVyjKGgkoIQop5loaIZ/sY2dc3qgQGmsrPurlzYK+zXDQmGTuz2KntrZiaNta7JnYiUGtPYxzUv1x+Q49lkYy+fs/ja1GUbR2xyfS79OD7I5PNHcpFkMCSojHUBSFdUcu89zyA1xJzbtnqJqrPd+/1pZBrWuadFQIc3Fz1PBRryb8NKYDLWvl3VysKLDh2BUC5+3ly/0XyNHLJIlFacHvpzl8IZUFv582dykWwyR/9t2fsDAhIQGNRkNoaCg1a9Y0rg8NDeX48eM4OuaNvrxs2TJycnKYOHEiWVlZVKpUiVmzZhmngBfCXO7p9Ly3+SSbjl8zLuvcsBIL+jbD1aH4b7wtbt7VyvHdK23ZeuI6M3+JI/FuNulZuczYdop1Ry4zvbsX7eu5P/6FxGNps/X5vgoTtaB27tyJTqdjw4YNTJgwgbCwsHzrY2Nj+fzzz1m9ejWrV6/G2dmZZcuWERISwtq1a2ncuDEbNmwwRWlCFNr55Ax6LYs0hpOVCiY93YDPh7YoE+F0n0qloodPNXZP6MSoTnXRWOd9bJxJymDQ54d5dXUUV1IzzVylKI1M0oKKiorC398fAB8fH2JiYozrDAYDly5dYurUqdy6dYvevXvTu3dvoqKieOWVVwAICAhgwYIFvPDCCwXuJzs7m7i4OFMcgijj9l3MYOGBZO7l5PWEcLWzZnJAJXyq5JCQEF8sNeh0OuNXS3mfd6sJfuWr8enRFI5czQul7bE32R2fSB/vcvT2dsWuBHSxt0SW+PMuLo+aGd0kAZWRkYGT0989mqytrcnNzUWtVpOZmcngwYMZPnw4er2eoUOH4u3tTUZGBs7OeV1cHR0dSU9Pf+x+bG1tZcp3UaRy9AbCfo3ni/1JxmUta5VnyQBfqpSzK9ZaND8nAjloNBqLep83AoJaw574JGZsO8WFW1p0eoU1J+6w91I273VtxLPeVUrltTlTstSftzmZJKCcnJzQarXGxwaDAbU6b1f29vYMHTrUeH2pTZs2xMfHG59jZ2eHVqvFxcXFFKUJ8Ug307IYvfY4UZduG5eN8K/NW880xMZaWgX/K7BhJdrXc2dV5AUW7zqDVqfn2p17jFpznHZ1KzCtmxcNqhTNhIyibCrwt+7o0aOP/FcQX19fIiIiAIiOjsbT09O47uLFiwwcOBC9Xk9OTg7Hjx/Hy8sLX19fwsPDAYiIiMDPz++/HpsQhbb/zC26Lt5nDCdnWzUrBvvyXtfGEk4F0KiteKVjXfZM7MRzzf+euv7AuRSCF+9j+tZY0jJlNArx7xTYglq3bh0Aly9fJicnhyZNmnDq1CkcHR1ZvXr1I5/XpUsXIiMj6d+/P4qiMHPmTFatWoWHhwdBQUF069aNvn37YmNjQ48ePahfvz6vvfYakydP5rvvvqN8+fLMnz+/aI9UiIcwGBSW7jnLgp2nuT9GasMqziwf7Edtd0fzFleCVHKxY0E/Hwa18WDa1lhirt1Fb1D46sBFtp64zqSnG9C3RQ2zj+ouShaVUoihi0eOHMmyZctQq9Xo9XpGjhzJF198URz1FSguLk7O1Yp/7bZWx5vfRbM3Idm4rI9fdT7s6Y2djbUZK8sTOG8vF25pqe3uyJ6JncxdTqHpDQobj11hzo4EUv8xxXyTauWY3r0xfjXdzFid5SqpP29TKtS5i+Tkv3+B9Xo9qakyE6co2aKv3CFkyX5jONmqrZjzfFPm9mlmEeFUkllbqejfyoM9EzrxQrtaxlbTyWtpPL/8IOM3RJN0N8vMVYqSoFCdJHr37k3Xrl3x9PTk7NmzjB071tR1CWESiqLw7aFLzNh2ihx93skDDzcHlg/2xatqOTNXV7qUc7BhencvBrTyYPrWWA6eTwFg0x/X2BF7k7FB9Rnevha2avmDQDxcoQJq0KBB9OjRg/Pnz1O9enXc3KSJLkoebXYu7/54ki3R143LujSuzLw+zYyDo4qi16CKM2tHtGZ7zE1Cf47j2p17aHV6wn6NZ8PRK0zt1pjABpXMXaawQIUKqDNnzjBt2jTS09Pp1q0b9evXJzAw0NS1CVFkzial89q3xzmTlDcRn7WVireebsDIgDpyv04xUKlUPNvkCTo1qMSK8HOsCD9Hdq6BC7e0DF91lKCGlXg/pDG1pGOK+IdCXYMKDQ1l1qxZuLq60rt3b5YsWWLquoQoMltPXKf7J5HGcKrobMval1vzSse6Ek7FzF5jzZtdPNk5viPPelcxLt8Vn8RTCyOYvT0ebXauGSsUlqTQN3jUrJk3arObm5txkFchLFl2rp5pW2IYt+4PMnV5A3C2qePGz+M60LpOBTNX93iOttb5vpYmNdwcWD7Yj29fak39v+bR0ukNLN97js7z97Il+hqF6GAsSrlCBVS5cuVYv3499+7d4+eff5ZRHoTFu3bnHn0/PcTXBy8Zl73WqS7fvtSaSs7FO2TRvzW+iydt6rgxvovn4zcuoTrUd+eX1/2ZGtIYZ7u8Kw6Jd7N5fX00fVYcJOZampkrFOZUqPugMjIyWLFiBadPn6Zu3bq88soruLq6Fkd9BZL7oMTD7E1I4o0N0dz5awQDFzs1C/r68GTjymauTBTkVkY283YksOHYFeNN0yoVDGjlwcSnGuDmWLpHkJf7oB5UqE4Sixcvpm/fvtSrV8/U9Qjxr+kNCh/vOsOS3WeMH3De1VxYNtAPjwoO5i1OPJa7ky1hzzfN65b+Uyx/XL6DosDaw5fZduI6E55qwKDWHqhl6Kkyo1A/aV9fX+bOncvgwYPZtGkTWVlyk52wLCkZ2byw6giLd/0dTgNaefD9q+0knEqYZjVc+eHVdszv04yKzrYA3M3KZdrWWEKW7OfguRQzVyiKS6FO8d2XlJTErFmz2LdvH8eOHTNlXYUip/gEQNSl24xZe5wbaXl/ONnZWPFRzyY871fdzJWJ/yo9K4dPdp/ly8gLxhurAbo2fYJ3gxtRzbX0zLotp/geVKgW1PXr11m6dCkjRozAzs6OlStXmrouIR5LURS+3H+Bfp8eNIZTbXdHNo9uL+FUSjjb2fBOcCO2vxFAgGdF4/Kf/7xB0Py9LN51hqwcmSK9tCrUNaixY8fSp08f1qxZk28iQiHMJT0rh7d/OMnPJ28YlwU3qcLs55vibCejQpQ2dSs68fXwluyKy5sk8XJqJlk5Bhb8fpqNUVeY0rUxTzWuLPe1lTIFnuK7efMmVapU4fz58w/84GvXrm3y4h5HTvGVTQk303nt2yjO38qbFFNtpeKd4Ea82L6WfECVAVk5er7Yf4FPdp/l3j9aT/713ZnWrTH1KpXMSRLlFN+DCmxBrVq1infeeYdp06blW65Sqfjmm28e+TyDwcD06dNJSEhAo9EQGhpKzZo1H9hm5MiRBAUFMWDAABRFISAggFq1agHg4+PDhAkT/uVhidLqxz+u8u6mGOMHUxUXO5YOai5TOJQhdjbWjA6sx3O+1Zj1SzxbT+SNrbjvzC2eWbSPYe1q8fqT9XGRlnSJV2BAvfPOOwAMGzaMzp07Y2VVuO6dO3fuRKfTsWHDBqKjowkLC2P58uX5tlm0aBFpaX/fhHf58mW8vLxYsWLF//cYRBmQlaNnxrZTrD182bisfb0KfNy/Oe5OtmasTJjLE+XsWTygOYPb1GTa1ljibtwl16Dwxf4LbIm+xlvPNKS3b3WsZJLEEqtQ16AOHDjAxx9/TOfOnenduzc1atQocPuoqCj8/f2BvJZQTExMvvXbt29HpVIREBBgXBYbG0tiYiJDhgzBzs6Od955hzp16hS4n+zsbOLi4gpzCKIEu5mew8zwRM6k/D353YCmrgxq5kLylfMkF/BcUfo5A3OfrMD2Mxq+/iOV9GwDtzJ0vPX9n3yxN4FXW1WgYUXLHz1Ep9MZv5a1z7VHXaopVEBNnToVnU7Hrl27mDFjBjk5OXz11VeP3D4jIyNfZwpra2tyc3NRq9WcPn2abdu2sXjxYpYuXWrcpmLFiowcOZJnn32WY8eOMWnSJH744YcC67K1tZVrUKXcrrhExv96grR7eaNCuDrYsLCfj0zPIB7g7QUvP6Vj/m+nWSujVm0AABgbSURBVHP4EgYFEm5l8+Yv1+ntV53JzzQ03ldliTQ/JwI5aDQa+Vz7S6ECCuDPP/9k//79pKSk8PTTTxe4rZOTE1qt1vjYYDCgVuftavPmzSQmJjJs2DCuXbuGjY0N1apVo2XLllhb5w2K2aJFCxITE1EURS56l1G5+rweWsv2njMua1a9HEsH+VK9vNx4Kx7O1UHDhz29jaNRHLmQN/v391FX2RFzk9efrM+wdrWwkdEoSoRCBVRwcDANGzakT58+fPTRR4/d3tfXlz179hAcHEx0dDSenn8PdvnWW28Z/79kyRLc3d0JCAhg7ty5uLq6MmLECOLj46lataqEUxmVnJ7NuHV/GGdgBRjatibvdW0ks6+KQmlc1YUNI9uw7c8bzPwljhtpWaRn5xL6cxzrjlxmWjevfPdVCctUqIB67rnnePnllwv9ol26dCEyMpL+/fujKAozZ85k1apVeHh4EBQU9NDnjBw5kkmTJhEeHo61tTWzZs0q9P5E6XHkQipj1h4nKT0bAHsba8Keb0IPn2pmrkyUNCqVim7NqhLUqBLL9pzjs4jz6PQGziVrGfrlEbo0rsz7XRvLUFgWrFBDHQ0dOpRVq1YZT8FZCrkPqvRQFIXP910gbHs8ekPeW7JuRUdWDPajfuWSeV+LsCyXUrSE/hzH76cSjcs0aiteCajDa53q4qAp9BUPk5D7oB5UqJ/I7du38ff3p3r16qhUKlQqFevXrzd1baKMuJuVw6SNJ9gR+/cHR7dmVQl7rgmOtub90BClR80Kjqwc2oLw08l88FMs55O16HINLNl9lu+jrvJucCNCmj4hlxYsSKFaUNeuXXtgWbVq5j/lIi2oku/U9bu8tiaKSymZANhYq3g/pDFD2tSUDwphMrpcA18fuMjHu86Q8Y8p5lvXdmN6dy8aPVH8k7JKC+pBhfrz9Mcff3xg2ZgxY4q8GFG2fHfsCu9vjiE71wBA1XJ2LB3kS3OP8mauTJR2GrUVIwLq0KN5VeZsT+D7qKsAHL6QStfF+xjcpibju3ji6lC6J0m0dIXqa+nu7o67uzsVKlQgMTGRGzduPP5JQjxCVo6et74/wVvf/2kMp46eFfl5nL+EkyhWlZztmNenGT+Oakez6uUAMCjwzcFLBM7by7eHLhmviYriV6gWVP/+/fM9/v/06BPiny7e0vLamuPE3bgL5E3p/eaTnowJrCdD0gizae5Rnh9Htef7qKvM3h5PilbH7cwcpmyOYe3hy3zQw4uWtWS8x+JWqIC6cOGC8f9JSUnSghL/yo7Ym0z87gTpf53zd3PU8HF/H/zry/0owvysrFT0bVmDp72rsHjXGb46cBG9QeHUjbv0WXGQHj5VeefZRlQpZ/nDJpUWhR7qSKVSkZaWhqurK5MnTzZ1XaIUydUbmLMjgc8izhuX+Xq48slAX6qWohlRRelQzt6G90Ma079lDab/FEvk2bwbxrdEX+f3U4mMDqzHy/615abxYlDgNajY2Fh69uzJF198weDBg0lOTubmzZvk5OQUV32ihEu6m8XAlYfzhdPw9rVYP7KthJOwaPUrO/PtS61ZMdiP6uXz3quZOj1zdyTw1MIIdsXlDccmTKfAgFq4cCFhYWFoNBoWLVrEypUr+eGHH2TKd1EoB8+lELx4P0cu5o2H5qixZulAX6Z180KjlrHQhOVTqVQ8412FneM7Mr6LJ3Y2ee/bSymZvPT1MYZ/dZTzyRlmrrL0KvBTQlEUGjZsSGJiIvfu3cPLywsnJ6dCzwslyiaDQWHZ3rMM+vwQtzLyhizyrOzE1rEd6Nr0CTNXJ8T/n52NNeOC6rNzfEe6Nvn7Pbw3IZmnF0Uw65c40rPkzFJRKzBpDIa8LsD79u2jbdu2QN5cJf8cqVyIf0rLzGHEN8eYsz2B+71zn2tejc2j21O3olPBTxbCwlUv78DSQb6sHdGaBn8NwZWjV/g04jyd54ez6fhVDNItvcgUGFBt27alf//+fPLJJwwZMoTLly/z6quvEhwcXFz1iRLk5NU0ui7Zx674JAA01lbM7NWE+X2bmX2cMyGKUru67vw8rgMfdPfCxS7vvZ2cns34707Qe8UBTl5Ne8wriMJ47FBH586dw83NjfLly3P58mUSEhLo0qVLcdVXIBnqyDIoisK6I1eYvjUWnT6v1V29vD3LB/nR5K+bH4UorVIyspn322nWH73M/U9TlQr6tajBxKcb4O5UuEkSZaijBxVqLD5LJQFlfvd0et778SSb/vh7vMaghpWY37eZDBMjypSYa2lM2xpL1KXbxmXOdmrGd/FkcJuaj50kUQLqQSbp7WAwGJg6dSr9+vVjyJAhXLp06aHbvPzyy6xbtw6ArKwsxo4dy8CBAxkxYgSpqammKE0UofPJGfRcGmkMJysVTHq6ASuHtpBwEmWOd7VyfP9qWxb186HSX1PLp2fl8sFPp+i6eB8Hzt4yc4Ulj0kCaufOneh0OjZs2MCECRMICwt7YJtFixaRlvb3edp169bh6enJ2rVr6dmzJ8uWLTNFaaKI/HLyBt0/iSQhMR0AdycN377cmtEyZJEow1QqFT2bV2P3xE682rEuNtZ5vwunEzMY+PlhXvs2iiupmWausuQwSUBFRUXh7+8PgI+PDzExMfnWb9++HZVKRUBAwEOfExAQwMGDB01RmviPdLkGZvx0ilFrjhunKWhVy42fx/nTrq67masTwjI42ap5+9mG/PZmRzo3rGRc/mvMTZ5cEM6inafJytEbl6fdyzE+LsFXXYqcSbpWZWRk4OT0d5dia2trcnNzUavVnD59mm3btrF48WKWLl2a7znOznndNh0dHUlPT3/sfrKzs4mLiyv6AxAPlazNZVZ4InHJ2cZlz3uV4wXfcqReu0Dqg9OGCVHmTWrtRMdqVnx65BbX03PJzjWwaOcZ1h68wAu+5Tl58x67zmvR6fOC6ertTFbvjKJFtbIzFf2j+hKYJKCcnJzy3StlMBhQq/N2tXnzZhITExk2bBjXrl3DxsaGatWq5XuOVqvFxeXxE4bZ2tpKJ4lisu9MMm/8Gk2qVgeAs62auX2a8Yx3FTNXJoTla9QI+gfq+XL/RZbsPkOmTk+SNpc5+5If2DbXANN3JfL1i63oUL9sn5UwSUD5+vqyZ88egoODiY6OxtPT07jurbfeMv5/yZIluLu7ExAQwNmzZwkPD6dp06ZERETg5+dnitLE/5PBoPDJnrMs3Hna2IW20RMuLB/kSy13R/MWJ0QJYqu25rVOdXnOtxphv8bz4x+PPuWgVxTm7oinQ/0OxVih5TFJQHXp0oXIyEj69++PoijMnDmTVatW4eHhQVBQ0EOfM2DAACZPnsyAAQOwsbFh/vz5pihN/D/c1up4Y0M04af//iuvb4vqzOjhjZ2NjOQsxL9R2cWOhf18uKfLZXts4iO3O3E1jZtpWWV6eg+5D0o8VPSVO4xec5xrd+4BYKu24sMe3vRtWcPMlQlROrz1/Qm+O3a1wG3CJ3WiZoWye6ZCRn0V+SiKwjcHL9JnxQFjONWs4MCmUe0knIQoQr4e5QtcX9HZlmplfEoaCShhpM3O5fX10UzdEkvOXz2KnmpcmZ/GdsCrqgxZJERR6u5Tlcoujx4G6cX2tVE/ZvSJ0q5sH70wOpuUTo+lkWw9cR0AaysV7wY35NMhfrjY2Zi5OiFKHweNmq+Gt3poK2lo25q8ElDHDFVZFgmoEmR3fCL9Pj3I7vhHX1j9N7ZEX6P7J5GcTcqbeK2Ssy3rRrRhZEBdVCoZFUIIU2n0hAt7JnZiyYDmlLPP+0Owmqs9M3p4y4gsmKgXnzCNBb+fJubaXbS6XDo3rPyfXy87V0/otjhWH/p7rMQ2ddxYPKA5lZzLbs8hIYqTRm1Ft2ZVWfD7adLu5chs0/8gAVWCaLP1+b7+F1dvZzJ67R+cuHLHuGxUp7qM7+JZ5s97CyEsgwRUGbQ3IYk3NkRzJzNvimoXOzUL+/kQ1Oi/t8qEEKKoSECVIXqDwsc7T7Nkz1njqBDe1VxYPsiPGm5lZ9wvIUTJIAFVRqRkZPP6+mj2/2NOmoGtPZga0lhGhRBCWCQJqDIg6lIqo9f8wc27WQDY2Vgxs1cTnvOtbubKhBDi0SSgSjFFUfgy8iKzfokj15B3Tq+OuyPLBvvSsMrjR4sXQghzkoAqpdKzcpj8w5/8cvKmcVlwkyrMfr4pznLjrRCiBJCAKoXib95l1LfHOX8rb34ttZWKd4MbMbx9LbnxVghRYkhAlTKbjl/l3R9PkpVjAKCKix1LB/niV7PggSmFEMLSmCSgDAYD06dPJyEhAY1GQ2hoKDVr1jSuX7NmDZs2bUKlUjF69GgCAwNRFIWAgABq1aoFgI+PDxMmTDBFeaVSVo6eD346xbojl43LOtRz5+P+PlRwevSAlEIIYalMElA7d+5Ep9OxYcMGoqOjCQsLY/ny5QCkpqaydu1aNm/eTHZ2Nl27dqVTp05cvnwZLy8vVqxYYYqSSrUrqZm8tiaKmGt3AVCpYGzn+rweVB9rGc9LCFFCmSSgoqKi8Pf3B/JaQjExMcZ1bm5ubNmyBbVazbVr13BxcUGlUhEbG0tiYiJDhgzBzs6Od955hzp1ZDTfx9l5KpHx30VzNysXAFcHGxb186FTg0pmrkwIIf4bkwRURkYGTk5OxsfW1tbk5uaiVuftTq1W8+2337JkyRKGDBkCQMWKFRk5ciTPPvssx44dY9KkSfzwww8F7ic7O5u4uDhTHIJF0RsUdp/P4NrtTABu3Mnkyx3HiEvOYmNMmnG7Bu62vNuxMpUMKcTFpZirXCHEv6DT6Yxfy8Ln2j89amZ0kwSUk5MTWq3W+NhgMBjD6b7BgwfTt29fRowYwaFDh2jWrBnW1nkjGrRo0YLExEQURSmw15mtrW2pn/Jdl2vgldXH2JOQbFyWlaswY0/+KTeGtq3Je10bYauWUSGEKIk0PycCOWg0mlL/uVZYJhm22tfXl4iICACio6Px9PQ0rjt//jxjxoxBURRsbGzQaDRYWVnxySef8PXXXwMQHx9P1apVpUs08M3Bi/nC6X/Zqq34uL8PM3p4SzgJIUoVk7SgunTpQmRkJP3790dRFGbOnMmqVavw8PAgKCiIhg0b0q9fP1QqFf7+/rRq1YoGDRowadIkwsPDsba2ZtasWaYorcT5Z6+8h2ld240ePtWKqRohhCg+KkW5P651yRMXF1fqm8Ke7/2KTm945Pom1crx09gOxViREMIUAuft5cItLbXdHdkzsZO5y7EIMjOdhavkUvA9TJUfs14IIUoqCSgL18evRoHrez9mvRBClFQSUBZuREBtmtVwfei6Hj5VeaqxzIIrhCidJKAsnINGzboRrZn0dANsrPN6NWrUVoQ914QFfX2wkpEihBCllARUCeCgUTM6sB7Vy+dNy17N1Z7+rTxkGCMhRKkmASWEEMIiSUAJIYSwSBJQQgghLJIElBBCCIskASWEEMIiSUAJIYSwSBJQQgghLJIElBBCCIskASWEEMIimWQ+KIPBwPTp00lISECj0RAaGkrNmjWN69esWcOmTZtQqVSMHj2awMBAsrKymDRpEikpKTg6OjJ79mzc3NxMUZ4QQogSwCQtqJ07d6LT6diwYQMTJkwgLCzMuC41NZW1a9eyfv16vvrqK6ZPn46iKKxbtw5PT0/Wrl1Lz549WbZsmSlKK9Ecba3zfRVCiNLMJAEVFRWFv78/AD4+PsTExBjXubm5sWXLFmxsbLh16xYuLi6oVKp8zwkICODgwYOmKK1EG9/FkzZ13BjfxdPcpQghhMmZ5BRfRkYGTk5OxsfW1tbk5uaiVuftTq1W8+2337JkyRKGDBlifI6zszMAjo6OpKenP3Y/2dnZxMXFmeAILNMTwDR/V1BSiYtLNXc5QogipNPpjF/L0uca8MiZ0U0SUE5OTmi1WuNjg8FgDKf7Bg8eTN++fRkxYgSHDh3K9xytVouLi8tj92Nra1vqp3wXQpQNmp8TgRw0Go18rv3FJKf4fH19iYiIACA6OhpPz79PSZ0/f54xY8agKAo2NjZoNBqsrKzw9fUlPDwcgIiICPz8/ExRmhBCiBLCJC2oLl26EBkZSf/+/VEUhZkzZ7Jq1So8PDwICgqiYcOG9OvXD5VKhb+/P61ataJJkyZMnjyZAQMGYGNjw/z5801RmhBCiBJCpSiKYu4i/q24uDhpCgshSoXAeXu5cEtLbXdH9kzsZO5yLILcqCuEEMIiSUAJIYQFkPscHyQBJYQQFkDuc3yQXIMSQghhkaQFJYQQwiJJQAkhhLBIElBCCCEskgSUEEIIiyQBJYQQwiKZZKij4lLWRjMXQojSSK1WU79+/QeWl+hu5kIIIUovOcUnhBDCIklACSGEsEgSUEIIISySBJQQQgiLJAElhBDCIklACSGEsEgl+j6osuazzz7jwIEDWFlZoVKpePPNN/H29jZ3WcIEzpw5w9y5c7l37x6ZmZl07NiRsWPHolKpzF2aKGIxMTEsWLCAe/fuoSgKrVu3ZvTo0Wg0GnOXZn6KKBHOnDmj9OvXTzEYDIqiKMqpU6eUbt26mbkqYQppaWlKSEiIcuHCBUVRFCU3N1cZPXq0snbtWvMWJorcjRs3lGeeeUY5f/68oiiKYjAYlCVLlijTp083c2WWQW7ULSFSU1Pp2bMnY8eOJSAggMqVK6PT6eSvrFLoxx9/JDY2lilTphiXabVabGxs5OddyqxYsQKNRsOLL75oXKYoCkFBQfzyyy/Y2dmZsTrzk2tQJYSbmxvLly/n+PHj9OvXj2eeeYY9e/aYuyxhAklJSdSoUSPfMkdHRwmnUuj69esP/KxVKhXu7u4kJyebqSrLIdegSohLly7h5OTErFmzADh58iQjR46kdevWuLq6mrk6UZSqVq3KqVOn8i27cuUKN2/epGXLlmaqSphC1apVuXLlSr5lBoOB69evU6FCBTNVZTmkBVVCJCQkMH36dLKzswGoXbs2zs7OWFtbm7kyUdQCAwPZt28fly9fBiAnJ4ewsDBOnz5t5spEUevRowcbN27k4sWL3L17lxdffJH33nuPwMBAHBwczF2e2ck1qBJk+fLl/Prrrzg4OKAoCiNGjODJJ580d1nCBGJiYpgzZw6KoqDVagkMDGTMmDHSi68UiomJYeHChWi1WrKysnB3d8fd3Z233367zJ8dkYASQggLEx8fT40aNXB0dDR3KWYlASWEEMIiyTUoIYQQFkkCSgghhEWSgBJCCGGRJKCEEEJYJAkoIYrA4cOHadu2LUOGDDH+Gzdu3GOft2nTJubNm/ev9tm5c2fjfXGFlZ2dTefOnf/V/oQobjKShBBFpE2bNixcuNDcZQhRakhACWFCQ4YMoUGDBpw5cwYHBwdatGjB/v37uXv3Ll9++SUA0dHRDBs2jIyMDMaOHUunTp3Yvn07a9asMb7Oxx9/zJkzZ5g3bx42Njb07dvXuG7dunVERkayYMECoqOjWbhwIdbW1tSoUYMZM2ag0+mYOHEid+/excPDo9i/B0L8WxJQQhSRQ4cOMWTIEOPjjh07AtC0aVOmTJnCSy+9hJ2dHatWrWLy5MkcPXoUAHt7ez777DNSU1Pp06cPAQEBXLx4kc8++wx7e3umTp3K/v37qVy5MtnZ2WzcuBGAxYsXs3r1auLi4vj444+xsrLi/fffZ+3atVSoUIFFixbx448/otPp8PT05M033+TEiRMcPny4+L85QvwLElBCFJGHneILDw/Hy8sLABcXF+rVq2f8//3rR35+fqhUKipUqICzszN37tyhQoUKTJ48GUdHR86fP4+Pjw+QNwbjPx08eBBra2usra1JSUkhKSmJN954A4CsrCzat2/P7du38ff3B6BZs2ao1fJrL0oG6SQhhJmdPHkSgOTkZDIzM7GxsWHx4sUsXLiQ0NBQbG1tuT/gi5VV/l/ZZcuW4eLiwrp16yhfvjxVqlRh2bJlrF69mldffZXWrVtTp04doqOjATh16hS5ubnFe4BC/Evyp5QQReR/T/FBXivmcbKyshg6dCiZmZnMmDEDJycnfH196dWrFw4ODri4uJCUlET16tUf+vwpU6bQp08f2rZty3vvvcfIkSNRFAVHR0fmzJlDy5YteeeddxgwYAB16tTBxsamSI5XCFOTsfiEEEJYJDnFJ4QQwiJJQAkhhLBIElBCCCEskgSUEEIIiyQBJYQQwiJJQAkhhLBIElBCCCEs0v8BSFywaNp2m5MAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x216 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.factorplot('Embarked','Survived',data = train_data,size = 3,aspect = 2)\n",
    "plt.title('Embarked and Survived Rate')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "从上图可以看出，C港口的乘客存活率是最高的，其次是Q港口，最低的是S港口。据了解，泰坦尼克号上共有2224名乘客，本数据集选取了其中的891名乘客信息作为样本数据。如果这891个样本是随机选择的，根据中心极限定理，其数量足够，所以该分析结果具有代表性；如果这891条样本数据不是随机选取的，那么该结果就不是特别的靠谱。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 4.变量转换"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**4.1 登陆港口数据类型转换**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>PassengerId</th>\n",
       "      <th>Survived</th>\n",
       "      <th>Pclass</th>\n",
       "      <th>Name</th>\n",
       "      <th>Sex</th>\n",
       "      <th>Age</th>\n",
       "      <th>SibSp</th>\n",
       "      <th>Parch</th>\n",
       "      <th>Ticket</th>\n",
       "      <th>Fare</th>\n",
       "      <th>Cabin</th>\n",
       "      <th>Embarked</th>\n",
       "      <th>Age_int</th>\n",
       "      <th>Age_group</th>\n",
       "      <th>family_size</th>\n",
       "      <th>C</th>\n",
       "      <th>Q</th>\n",
       "      <th>S</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>Braund, Mr. Owen Harris</td>\n",
       "      <td>male</td>\n",
       "      <td>22.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>A/5 21171</td>\n",
       "      <td>7.2500</td>\n",
       "      <td>U0</td>\n",
       "      <td>S</td>\n",
       "      <td>22</td>\n",
       "      <td>adult</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>Cumings, Mrs. John Bradley (Florence Briggs Th...</td>\n",
       "      <td>female</td>\n",
       "      <td>38.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>PC 17599</td>\n",
       "      <td>71.2833</td>\n",
       "      <td>C85</td>\n",
       "      <td>C</td>\n",
       "      <td>38</td>\n",
       "      <td>adult</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>Heikkinen, Miss. Laina</td>\n",
       "      <td>female</td>\n",
       "      <td>26.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>STON/O2. 3101282</td>\n",
       "      <td>7.9250</td>\n",
       "      <td>U0</td>\n",
       "      <td>S</td>\n",
       "      <td>26</td>\n",
       "      <td>adult</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>Futrelle, Mrs. Jacques Heath (Lily May Peel)</td>\n",
       "      <td>female</td>\n",
       "      <td>35.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>113803</td>\n",
       "      <td>53.1000</td>\n",
       "      <td>C123</td>\n",
       "      <td>S</td>\n",
       "      <td>35</td>\n",
       "      <td>adult</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>Allen, Mr. William Henry</td>\n",
       "      <td>male</td>\n",
       "      <td>35.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>373450</td>\n",
       "      <td>8.0500</td>\n",
       "      <td>U0</td>\n",
       "      <td>S</td>\n",
       "      <td>35</td>\n",
       "      <td>adult</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   PassengerId  Survived  Pclass  \\\n",
       "0            1         0       3   \n",
       "1            2         1       1   \n",
       "2            3         1       3   \n",
       "3            4         1       1   \n",
       "4            5         0       3   \n",
       "\n",
       "                                                Name     Sex   Age  SibSp  \\\n",
       "0                            Braund, Mr. Owen Harris    male  22.0      1   \n",
       "1  Cumings, Mrs. John Bradley (Florence Briggs Th...  female  38.0      1   \n",
       "2                             Heikkinen, Miss. Laina  female  26.0      0   \n",
       "3       Futrelle, Mrs. Jacques Heath (Lily May Peel)  female  35.0      1   \n",
       "4                           Allen, Mr. William Henry    male  35.0      0   \n",
       "\n",
       "   Parch            Ticket     Fare Cabin Embarked  Age_int Age_group  \\\n",
       "0      0         A/5 21171   7.2500    U0        S       22     adult   \n",
       "1      0          PC 17599  71.2833   C85        C       38     adult   \n",
       "2      0  STON/O2. 3101282   7.9250    U0        S       26     adult   \n",
       "3      0            113803  53.1000  C123        S       35     adult   \n",
       "4      0            373450   8.0500    U0        S       35     adult   \n",
       "\n",
       "   family_size  C  Q  S  \n",
       "0            2  0  0  1  \n",
       "1            2  1  0  0  \n",
       "2            1  0  0  1  \n",
       "3            2  0  0  1  \n",
       "4            1  0  0  1  "
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "embark_dummies = pd.get_dummies(train_data['Embarked'])\n",
    "train_data = pd.concat([train_data,embark_dummies],axis = 1)\n",
    "train_data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>C</th>\n",
       "      <th>Q</th>\n",
       "      <th>S</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   C  Q  S\n",
       "0  0  0  1\n",
       "1  1  0  0\n",
       "2  0  0  1\n",
       "3  0  0  1\n",
       "4  0  0  1"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_data[['C','Q','S']].head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**4.2 船舱编号数据类型转换**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Cabin</th>\n",
       "      <th>Cabinletter</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>U0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>C85</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>U0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>C123</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>U0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  Cabin  Cabinletter\n",
       "0    U0            0\n",
       "1   C85            1\n",
       "2    U0            0\n",
       "3  C123            1\n",
       "4    U0            0"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_data['Cabin'][train_data.Cabin.isnull()] = 'U0'\n",
    "\n",
    "train_data['Cabinletter'] = train_data['Cabin'].map(lambda x: re.compile(\"([a-zA-Z]+)\").search(x).group())\n",
    "\n",
    "train_data['Cabinletter'] = pd.factorize(train_data['Cabinletter'])[0]\n",
    "\n",
    "train_data[['Cabin','Cabinletter']].head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**4.3 对Age特征进行数据处理**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0   -0.557389\n",
       "1    0.622720\n",
       "2   -0.262362\n",
       "3    0.401450\n",
       "4    0.401450\n",
       "Name: norm_age, dtype: float64"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.preprocessing import StandardScaler\n",
    "\n",
    "train_data['norm_age'] = StandardScaler().fit_transform(train_data[['Age']])\n",
    "\n",
    "train_data['norm_age'].head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**4.4 对Fare特征进行处理**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0      (-0.001, 7.854]\n",
      "1    (39.688, 512.329]\n",
      "2        (7.854, 10.5]\n",
      "3    (39.688, 512.329]\n",
      "4        (7.854, 10.5]\n",
      "Name: fare_bin, dtype: category\n",
      "Categories (5, interval[float64]): [(-0.001, 7.854] < (7.854, 10.5] < (10.5, 21.679] < (21.679, 39.688] < (39.688, 512.329]]\n"
     ]
    }
   ],
   "source": [
    "train_data['fare_bin'] = pd.qcut(train_data['Fare'],5)\n",
    "print(train_data['fare_bin'].head())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>PassengerId</th>\n",
       "      <th>Survived</th>\n",
       "      <th>Pclass</th>\n",
       "      <th>Name</th>\n",
       "      <th>Sex</th>\n",
       "      <th>Age</th>\n",
       "      <th>SibSp</th>\n",
       "      <th>Parch</th>\n",
       "      <th>Ticket</th>\n",
       "      <th>Fare</th>\n",
       "      <th>...</th>\n",
       "      <th>Q</th>\n",
       "      <th>S</th>\n",
       "      <th>Cabinletter</th>\n",
       "      <th>norm_age</th>\n",
       "      <th>fare_bin</th>\n",
       "      <th>fare_(-0.001, 7.854]</th>\n",
       "      <th>fare_(7.854, 10.5]</th>\n",
       "      <th>fare_(10.5, 21.679]</th>\n",
       "      <th>fare_(21.679, 39.688]</th>\n",
       "      <th>fare_(39.688, 512.329]</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>Braund, Mr. Owen Harris</td>\n",
       "      <td>male</td>\n",
       "      <td>22.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>A/5 21171</td>\n",
       "      <td>7.2500</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>-0.557389</td>\n",
       "      <td>(-0.001, 7.854]</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>Cumings, Mrs. John Bradley (Florence Briggs Th...</td>\n",
       "      <td>female</td>\n",
       "      <td>38.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>PC 17599</td>\n",
       "      <td>71.2833</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0.622720</td>\n",
       "      <td>(39.688, 512.329]</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>Heikkinen, Miss. Laina</td>\n",
       "      <td>female</td>\n",
       "      <td>26.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>STON/O2. 3101282</td>\n",
       "      <td>7.9250</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>-0.262362</td>\n",
       "      <td>(7.854, 10.5]</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>Futrelle, Mrs. Jacques Heath (Lily May Peel)</td>\n",
       "      <td>female</td>\n",
       "      <td>35.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>113803</td>\n",
       "      <td>53.1000</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.401450</td>\n",
       "      <td>(39.688, 512.329]</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>Allen, Mr. William Henry</td>\n",
       "      <td>male</td>\n",
       "      <td>35.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>373450</td>\n",
       "      <td>8.0500</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0.401450</td>\n",
       "      <td>(7.854, 10.5]</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 26 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   PassengerId  Survived  Pclass  \\\n",
       "0            1         0       3   \n",
       "1            2         1       1   \n",
       "2            3         1       3   \n",
       "3            4         1       1   \n",
       "4            5         0       3   \n",
       "\n",
       "                                                Name     Sex   Age  SibSp  \\\n",
       "0                            Braund, Mr. Owen Harris    male  22.0      1   \n",
       "1  Cumings, Mrs. John Bradley (Florence Briggs Th...  female  38.0      1   \n",
       "2                             Heikkinen, Miss. Laina  female  26.0      0   \n",
       "3       Futrelle, Mrs. Jacques Heath (Lily May Peel)  female  35.0      1   \n",
       "4                           Allen, Mr. William Henry    male  35.0      0   \n",
       "\n",
       "   Parch            Ticket     Fare  ...  Q  S  Cabinletter  norm_age  \\\n",
       "0      0         A/5 21171   7.2500  ...  0  1            0 -0.557389   \n",
       "1      0          PC 17599  71.2833  ...  0  0            1  0.622720   \n",
       "2      0  STON/O2. 3101282   7.9250  ...  0  1            0 -0.262362   \n",
       "3      0            113803  53.1000  ...  0  1            1  0.401450   \n",
       "4      0            373450   8.0500  ...  0  1            0  0.401450   \n",
       "\n",
       "            fare_bin  fare_(-0.001, 7.854]  fare_(7.854, 10.5]  \\\n",
       "0    (-0.001, 7.854]                     1                   0   \n",
       "1  (39.688, 512.329]                     0                   0   \n",
       "2      (7.854, 10.5]                     0                   1   \n",
       "3  (39.688, 512.329]                     0                   0   \n",
       "4      (7.854, 10.5]                     0                   1   \n",
       "\n",
       "   fare_(10.5, 21.679]  fare_(21.679, 39.688]  fare_(39.688, 512.329]  \n",
       "0                    0                      0                       0  \n",
       "1                    0                      0                       1  \n",
       "2                    0                      0                       0  \n",
       "3                    0                      0                       1  \n",
       "4                    0                      0                       0  \n",
       "\n",
       "[5 rows x 26 columns]"
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "fare_dummies = pd.get_dummies(train_data['fare_bin'],prefix = 'fare')\n",
    "train_data = pd.concat([train_data,fare_dummies],axis = 1)\n",
    "\n",
    "train_data.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 5.特征工程"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "训练集大小: (891, 12)\n",
      "测试集大小: (418, 11)\n"
     ]
    }
   ],
   "source": [
    "#观察训练数据集和测试数据集\n",
    "\n",
    "train_data = pd.read_csv('D:\\\\Py_dataset\\\\train.csv')\n",
    "test_data = pd.read_csv('D:\\\\Py_dataset\\\\test.csv')\n",
    "\n",
    "print('训练集大小:',train_data.shape)\n",
    "print('测试集大小:',test_data.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "完整数据集的大小: (1309, 12)\n"
     ]
    }
   ],
   "source": [
    "#往测试集增加survived特征\n",
    "\n",
    "test_data['Survived'] = 0\n",
    "\n",
    "#将训练集和测试集合并\n",
    "\n",
    "full_data = pd.concat([train_data,test_data],axis = 0)\n",
    "\n",
    "print('完整数据集的大小:',full_data.shape)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "对数据集进行特征工程，也就是从给定的特征中提取出对结果有或大或小影响的特征，将这些特征作为模型训练的依据。一般来说，我们会先从含有缺失值的特征开始。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 5.1 Emabarked"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "S    914\n",
       "C    270\n",
       "Q    123\n",
       "Name: Embarked, dtype: int64"
      ]
     },
     "execution_count": 48,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "full_data['Embarked'].value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [],
   "source": [
    "full_data['Embarked'] = full_data['Embarked'].fillna('S')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0"
      ]
     },
     "execution_count": 50,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "full_data['Embarked'].isnull().sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [],
   "source": [
    "#对Embarked特征进行dummies编码\n",
    "\n",
    "Embarked = pd.get_dummies(full_data['Embarked'])\n",
    "full_data = pd.concat([full_data,Embarked],axis = 1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 5.2 Sex "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [],
   "source": [
    "#对Sex特征进行one_hot编码\n",
    "\n",
    "Sex = pd.get_dummies(full_data['Sex'])\n",
    "\n",
    "full_data = pd.concat([full_data,Sex],axis = 1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 5.3 Fare"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "Int64Index: 1309 entries, 0 to 417\n",
      "Data columns (total 17 columns):\n",
      "Age            1046 non-null float64\n",
      "Cabin          295 non-null object\n",
      "Embarked       1309 non-null object\n",
      "Fare           1308 non-null float64\n",
      "Name           1309 non-null object\n",
      "Parch          1309 non-null int64\n",
      "PassengerId    1309 non-null int64\n",
      "Pclass         1309 non-null int64\n",
      "Sex            1309 non-null object\n",
      "SibSp          1309 non-null int64\n",
      "Survived       1309 non-null int64\n",
      "Ticket         1309 non-null object\n",
      "C              1309 non-null uint8\n",
      "Q              1309 non-null uint8\n",
      "S              1309 non-null uint8\n",
      "female         1309 non-null uint8\n",
      "male           1309 non-null uint8\n",
      "dtypes: float64(2), int64(5), object(5), uint8(5)\n",
      "memory usage: 139.3+ KB\n"
     ]
    }
   ],
   "source": [
    "full_data.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [],
   "source": [
    "full_data['Fare'] = full_data['Fare'].fillna(full_data['Fare'].mean())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "929"
      ]
     },
     "execution_count": 55,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "full_data['Ticket'].nunique()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "由ticket的数量可以得知，船票是存在重复的。由前面的数据分析知道，其中存在亲人家属关系，所以部分票为团体票。这就需要我们将团体票的票价平分到每一个人。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(1309,)"
      ]
     },
     "execution_count": 56,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "full_data['group_ticket'] = full_data['Fare'].groupby(full_data['Ticket']).transform('count')\n",
    "\n",
    "full_data['group_ticket'].shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {},
   "outputs": [],
   "source": [
    "#乘客的平均票价\n",
    "\n",
    "full_data['Fare'] = full_data['Fare'] / full_data['group_ticket']\n",
    "\n",
    "full_data = full_data.drop('group_ticket',axis = 1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "   (-0.001, 7.229]  (7.229, 7.896]  (7.896, 10.5]  (10.5, 26.277]  \\\n",
       "0                0               1              0               0   \n",
       "1                0               0              0               0   \n",
       "2                0               0              1               0   \n",
       "3                0               0              0               0   \n",
       "4                0               0              1               0   \n",
       "\n",
       "   (26.277, 128.082]  \n",
       "0                  0  \n",
       "1                  1  \n",
       "2                  0  \n",
       "3                  1  \n",
       "4                  0  "
      ]
     },
     "execution_count": 58,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 使用bin给票价分等级\n",
    "full_data['fare_bin'] = pd.qcut(full_data['Fare'],5)\n",
    "\n",
    "# 对fare_bin进行dummies编码\n",
    "fare_bin = pd.get_dummies(full_data['fare_bin'])\n",
    "fare_bin.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {},
   "outputs": [],
   "source": [
    "full_data = pd.concat([full_data,fare_bin],axis = 1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 5.4 Parch and SibSp"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "由前面的分析结果可知，亲友的数量过多或过少，都会影响生存率。这里将Parch和SibSp两项合并为一项family_size。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Age</th>\n",
       "      <th>Cabin</th>\n",
       "      <th>Embarked</th>\n",
       "      <th>Fare</th>\n",
       "      <th>Name</th>\n",
       "      <th>Parch</th>\n",
       "      <th>PassengerId</th>\n",
       "      <th>Pclass</th>\n",
       "      <th>Sex</th>\n",
       "      <th>SibSp</th>\n",
       "      <th>...</th>\n",
       "      <th>S</th>\n",
       "      <th>female</th>\n",
       "      <th>male</th>\n",
       "      <th>fare_bin</th>\n",
       "      <th>(-0.001, 7.229]</th>\n",
       "      <th>(7.229, 7.896]</th>\n",
       "      <th>(7.896, 10.5]</th>\n",
       "      <th>(10.5, 26.277]</th>\n",
       "      <th>(26.277, 128.082]</th>\n",
       "      <th>family_size</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>22.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "      <td>7.25000</td>\n",
       "      <td>Braund, Mr. Owen Harris</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>male</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>(7.229, 7.896]</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>38.0</td>\n",
       "      <td>C85</td>\n",
       "      <td>C</td>\n",
       "      <td>35.64165</td>\n",
       "      <td>Cumings, Mrs. John Bradley (Florence Briggs Th...</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>female</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>(26.277, 128.082]</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>26.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "      <td>7.92500</td>\n",
       "      <td>Heikkinen, Miss. Laina</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>female</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>(7.896, 10.5]</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>35.0</td>\n",
       "      <td>C123</td>\n",
       "      <td>S</td>\n",
       "      <td>26.55000</td>\n",
       "      <td>Futrelle, Mrs. Jacques Heath (Lily May Peel)</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>female</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>(26.277, 128.082]</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>35.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "      <td>8.05000</td>\n",
       "      <td>Allen, Mr. William Henry</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>3</td>\n",
       "      <td>male</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>(7.896, 10.5]</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 24 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "    Age Cabin Embarked      Fare  \\\n",
       "0  22.0   NaN        S   7.25000   \n",
       "1  38.0   C85        C  35.64165   \n",
       "2  26.0   NaN        S   7.92500   \n",
       "3  35.0  C123        S  26.55000   \n",
       "4  35.0   NaN        S   8.05000   \n",
       "\n",
       "                                                Name  Parch  PassengerId  \\\n",
       "0                            Braund, Mr. Owen Harris      0            1   \n",
       "1  Cumings, Mrs. John Bradley (Florence Briggs Th...      0            2   \n",
       "2                             Heikkinen, Miss. Laina      0            3   \n",
       "3       Futrelle, Mrs. Jacques Heath (Lily May Peel)      0            4   \n",
       "4                           Allen, Mr. William Henry      0            5   \n",
       "\n",
       "   Pclass     Sex  SibSp  ...  S female  male           fare_bin  \\\n",
       "0       3    male      1  ...  1      0     1     (7.229, 7.896]   \n",
       "1       1  female      1  ...  0      1     0  (26.277, 128.082]   \n",
       "2       3  female      0  ...  1      1     0      (7.896, 10.5]   \n",
       "3       1  female      1  ...  1      1     0  (26.277, 128.082]   \n",
       "4       3    male      0  ...  1      0     1      (7.896, 10.5]   \n",
       "\n",
       "   (-0.001, 7.229]  (7.229, 7.896]  (7.896, 10.5] (10.5, 26.277]  \\\n",
       "0                0               1              0              0   \n",
       "1                0               0              0              0   \n",
       "2                0               0              1              0   \n",
       "3                0               0              0              0   \n",
       "4                0               0              1              0   \n",
       "\n",
       "   (26.277, 128.082]  family_size  \n",
       "0                  0            2  \n",
       "1                  1            2  \n",
       "2                  0            1  \n",
       "3                  1            2  \n",
       "4                  0            1  \n",
       "\n",
       "[5 rows x 24 columns]"
      ]
     },
     "execution_count": 60,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "full_data['family_size'] = full_data['Parch'] + full_data['SibSp'] + 1\n",
    "\n",
    "full_data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {},
   "outputs": [],
   "source": [
    "family_map = {1:'single',\n",
    "             2:'small family',\n",
    "             3:'small family',\n",
    "             4:'small family',\n",
    "             5:'large family',\n",
    "             6:'large family',\n",
    "             7:'large family',\n",
    "             8:'large family',\n",
    "             11:'large family'}\n",
    "full_data['family_size_category'] = full_data['family_size'].map(family_map)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Age</th>\n",
       "      <th>Cabin</th>\n",
       "      <th>Embarked</th>\n",
       "      <th>Fare</th>\n",
       "      <th>Name</th>\n",
       "      <th>Parch</th>\n",
       "      <th>PassengerId</th>\n",
       "      <th>Pclass</th>\n",
       "      <th>Sex</th>\n",
       "      <th>SibSp</th>\n",
       "      <th>...</th>\n",
       "      <th>female</th>\n",
       "      <th>male</th>\n",
       "      <th>fare_bin</th>\n",
       "      <th>(-0.001, 7.229]</th>\n",
       "      <th>(7.229, 7.896]</th>\n",
       "      <th>(7.896, 10.5]</th>\n",
       "      <th>(10.5, 26.277]</th>\n",
       "      <th>(26.277, 128.082]</th>\n",
       "      <th>family_size</th>\n",
       "      <th>family_size_category</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>22.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "      <td>7.25000</td>\n",
       "      <td>Braund, Mr. Owen Harris</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>male</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>(7.229, 7.896]</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>small family</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>38.0</td>\n",
       "      <td>C85</td>\n",
       "      <td>C</td>\n",
       "      <td>35.64165</td>\n",
       "      <td>Cumings, Mrs. John Bradley (Florence Briggs Th...</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>female</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>(26.277, 128.082]</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>small family</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>26.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "      <td>7.92500</td>\n",
       "      <td>Heikkinen, Miss. Laina</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>female</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>(7.896, 10.5]</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>single</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>35.0</td>\n",
       "      <td>C123</td>\n",
       "      <td>S</td>\n",
       "      <td>26.55000</td>\n",
       "      <td>Futrelle, Mrs. Jacques Heath (Lily May Peel)</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>female</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>(26.277, 128.082]</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>small family</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>35.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "      <td>8.05000</td>\n",
       "      <td>Allen, Mr. William Henry</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>3</td>\n",
       "      <td>male</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>(7.896, 10.5]</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>single</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 25 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "    Age Cabin Embarked      Fare  \\\n",
       "0  22.0   NaN        S   7.25000   \n",
       "1  38.0   C85        C  35.64165   \n",
       "2  26.0   NaN        S   7.92500   \n",
       "3  35.0  C123        S  26.55000   \n",
       "4  35.0   NaN        S   8.05000   \n",
       "\n",
       "                                                Name  Parch  PassengerId  \\\n",
       "0                            Braund, Mr. Owen Harris      0            1   \n",
       "1  Cumings, Mrs. John Bradley (Florence Briggs Th...      0            2   \n",
       "2                             Heikkinen, Miss. Laina      0            3   \n",
       "3       Futrelle, Mrs. Jacques Heath (Lily May Peel)      0            4   \n",
       "4                           Allen, Mr. William Henry      0            5   \n",
       "\n",
       "   Pclass     Sex  SibSp  ...  female male           fare_bin  \\\n",
       "0       3    male      1  ...       0    1     (7.229, 7.896]   \n",
       "1       1  female      1  ...       1    0  (26.277, 128.082]   \n",
       "2       3  female      0  ...       1    0      (7.896, 10.5]   \n",
       "3       1  female      1  ...       1    0  (26.277, 128.082]   \n",
       "4       3    male      0  ...       0    1      (7.896, 10.5]   \n",
       "\n",
       "   (-0.001, 7.229]  (7.229, 7.896]  (7.896, 10.5]  (10.5, 26.277]  \\\n",
       "0                0               1              0               0   \n",
       "1                0               0              0               0   \n",
       "2                0               0              1               0   \n",
       "3                0               0              0               0   \n",
       "4                0               0              1               0   \n",
       "\n",
       "  (26.277, 128.082]  family_size  family_size_category  \n",
       "0                 0            2          small family  \n",
       "1                 1            2          small family  \n",
       "2                 0            1                single  \n",
       "3                 1            2          small family  \n",
       "4                 0            1                single  \n",
       "\n",
       "[5 rows x 25 columns]"
      ]
     },
     "execution_count": 63,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "full_data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x145dbbcd710>"
      ]
     },
     "execution_count": 64,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "full_data['family_size_category'].value_counts().plot(kind = 'bar')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x145dbc83fd0>"
      ]
     },
     "execution_count": 65,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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HJbpYv764w3RxcLlcmHs2LFYv349ZsyYgaKiIrVLUgXDvYvdfvvtapdA5NdaW1uRk5ODMWPGYO/evTh16pTaJamCwzJEJJXDhw+jsrISs2bNQllZGUaOHIlBgwapXZbPMdyJiCTEk5iIiCTEcCcikhDDnXzi1KlTuO+++5CYmNipe1ru2LED7777Lj7++GMsXbr0guupqanB2rVrL/h5ztfWrVt9vk3yTzxahnziyJEjOHbsGHbs2NGp9e+44w4AwMcff9wl9URERKhyYktBQQHmzp3r8+2S/2G4k088+uijOHz4MNLT09HU1ASHw/0gTFUAAAWmSURBVIHjx49j8eLFmDx5Mm6++WaMGTMGdXV1CAsLw6WXXor9+/fDYDBgw4YNWL9+Pfr27aucR/Dhhx9i+/btyM/PBwAkJCQgPz8f/fv3P2PbX331FR5++GHo9XrodDqsXr0ahw8fRnFxMZYtW4b09HQAp88orq+vx549e/DBBx9g06ZN0Gq1GD16NJYvX37Wtr3//vvKt4Dhw4fj8ccfxzvvvIOXX35Zecxzzz2HkpISnDhxAhkZGXjkkUewatUqfP3113C73XjwwQcxbtw4vP/++8jPz4fZbEavXr0wbNgwLFmyBLm5uaiqqgIA3HTTTZg3bx4eeughHD9+HMePH8ewYcNgsVhw11134cSJE7jnnns6/UFKkhBEPvDtt9+KWbNmicrKSrF3714hhBBVVVXi7rvvFkIIERsbK/bv3y+EEGLKlCnigw8+EEIIcdddd4mDBw+K/Px8UVRUJPbu3SsefPBB4Xa7xZQpU8Tx48fFP//5T/Hb3/72rNveunWryMzMFE6nU3z00UeitrZWeZ6fORwOcc8994gPPvhAHDt2TEybNk389NNPQgghli9fLj788MN2n7u1tVXExsaKxsZGIYQQa9asEd9//70oKChQ1n/00UfFzp07hRBC3HDDDUIIIV5++WWxevVqIYQQTU1NYvr06cLlcolJkyaJI0eOCCGEWLZsmcjPzxfvvfeeWLx4sXC73cLpdIqZM2eKQ4cOiRUrVojCwkIhhBDffPONmDlzptLel1566Zz7huTEPXfyqX79+qGgoAB/+ctfoNFo2lxQbcSIEQCAoKAghIeHK387HI4znkej0eCWW27BG2+8ge+++w4zZ8486zZnzpyJF154Affffz8CAwPPGLM/deoUli5diltuuQUTJ07EgQMH0NTUhAULFgA4vUf/7bfftvvcx44dQ1BQkHLdoJSUFADApZdeihUrVsBkMqG+vh6RkZFt1qurq0NVVRUOHDgA4PRZlY2NjTCbzejbty8AYMyYMWhsbMSXX36JMWPGQKPRICAgANdeey2+/PJLAEBYWBgAYNCgQTCZTPjiiy/w+uuvY926dWd9Pcg/8AdV8qnnnnsOt956K5566imMGzcO4lenWZztmjxnc+edd+Ktt97CJ598gokTJ571ce+++y5Gjx6NzZs3Y+rUqXjxxReVZUIIpKenY9SoUbjtttsAAP/3f/+HAQMG4KWXXsKWLVswd+5cXHvtte0+96WXXooff/wRx48fBwBkZWVh3759yM/PxzPPPIOsrCwYjUalnT//d8iQIZgxYwa2bNmCF154AVOnTkW/fv1gt9vR1NQEAPjHP/4BAAgPD1eGZFpbW/Hpp58iNDT0jNds9uzZKCgowGWXXYbg4ODzei1JPtxzJ5+aOnUqnnjiCTz//PMYMGAAjh071unnuuyyy2AymRAZGQm9/uxv5auvvhppaWlYs2YNtFotHn74YdhsNgDAW2+9hXfeeQcNDQ0oLy8HAKxatQp33303kpOTcerUKVxxxRWYNm1au8+t1WqxatUqLFy4EFqtFsOHD8fYsWMRFRWF22+/HZdccgmCgoKU2yyGh4dj+fLlyM7OxsqVKzF37lzYbDYkJSVBq9Xi0Ucfxfz58xEYGAi3243Q0FDExsZi3759mDNnDlpbWzF16lTlW86vTZ48GZmZmXjqqac6/ZqSPHiGKnVrCxcuRHp6urIn2909//zzuOeee2AwGLB8+XJMmDBB+UbhycmTJzF37ly88sor0Gr5pdzfcc+duqWWlhYkJSUhOjpaCfaMjAxlLPrXXnjhBfTo0eOCtnfgwIF294inTZuGpKSkC3ruXzOZTJg9ezZ69OiBK664AtOnTz+n9f7+979j1apVePDBBxnsBIB77kREUuJHPBGRhBjuREQSYrgTEUmI4U5EJCGGOxGRhP4/QSDfE5SnmrcAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "full_data.groupby('family_size_category')['Survived'].mean().plot(kind = 'bar')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 5.5 Age"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "Int64Index: 1309 entries, 0 to 417\n",
      "Data columns (total 25 columns):\n",
      "Age                     1046 non-null float64\n",
      "Cabin                   295 non-null object\n",
      "Embarked                1309 non-null object\n",
      "Fare                    1309 non-null float64\n",
      "Name                    1309 non-null object\n",
      "Parch                   1309 non-null int64\n",
      "PassengerId             1309 non-null int64\n",
      "Pclass                  1309 non-null int64\n",
      "Sex                     1309 non-null object\n",
      "SibSp                   1309 non-null int64\n",
      "Survived                1309 non-null int64\n",
      "Ticket                  1309 non-null object\n",
      "C                       1309 non-null uint8\n",
      "Q                       1309 non-null uint8\n",
      "S                       1309 non-null uint8\n",
      "female                  1309 non-null uint8\n",
      "male                    1309 non-null uint8\n",
      "fare_bin                1309 non-null category\n",
      "(-0.001, 7.229]         1309 non-null uint8\n",
      "(7.229, 7.896]          1309 non-null uint8\n",
      "(7.896, 10.5]           1309 non-null uint8\n",
      "(10.5, 26.277]          1309 non-null uint8\n",
      "(26.277, 128.082]       1309 non-null uint8\n",
      "family_size             1309 non-null int64\n",
      "family_size_category    1309 non-null object\n",
      "dtypes: category(1), float64(2), int64(6), object(6), uint8(10)\n",
      "memory usage: 207.5+ KB\n"
     ]
    }
   ],
   "source": [
    "full_data.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0\n"
     ]
    }
   ],
   "source": [
    "full_data = full_data.fillna(full_data['Embarked'].mode())\n",
    "print(full_data['Embarked'].isnull().sum())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 76,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "Int64Index: 1309 entries, 0 to 417\n",
      "Data columns (total 7 columns):\n",
      "Age            1046 non-null float64\n",
      "Fare           1309 non-null float64\n",
      "Parch          1309 non-null int64\n",
      "Pclass         1309 non-null int64\n",
      "Survived       1309 non-null int64\n",
      "SibSp          1309 non-null int64\n",
      "family_size    1309 non-null int64\n",
      "dtypes: float64(2), int64(5)\n",
      "memory usage: 81.8 KB\n"
     ]
    }
   ],
   "source": [
    "age_df = full_data[['Age','Fare','Parch','Pclass','Survived','SibSp','family_size']]\n",
    "age_df.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 77,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1046\n",
      "263\n"
     ]
    }
   ],
   "source": [
    "is_age_df = age_df.loc[age_df['Age'].notnull()]\n",
    "no_age_df = age_df.loc[age_df['Age'].isnull()]\n",
    "\n",
    "print(is_age_df.shape[0])\n",
    "print(no_age_df.shape[0])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 78,
   "metadata": {},
   "outputs": [],
   "source": [
    "#使用随机森林模型来预测缺失的年龄数据\n",
    "\n",
    "from sklearn.ensemble import RandomForestRegressor\n",
    "\n",
    "RF = RandomForestRegressor(n_estimators = 1000)\n",
    "RF.fit(is_age_df.values[:,1:],is_age_df.values[:,0])\n",
    "predictions = RF.predict(no_age_df.values[:,1:])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 83,
   "metadata": {},
   "outputs": [],
   "source": [
    "full_data.loc[full_data['Age'].isnull(),['Age']] = predictions"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 84,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0\n"
     ]
    }
   ],
   "source": [
    "print(full_data['Age'].isnull().sum())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
